*,*:before,*:after{box-sizing:border-box}body{font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--blue)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.veil{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg)}.gate{max-width:520px;margin:12vh auto;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.gate h2{margin:0 0 8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;text-decoration:none;line-height:1.2;transition:background .12s,border-color .12s,transform .06s}.btn:hover:not(:disabled){background:var(--surface2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:12.5px;border-radius:7px}.btn-primaire{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primaire:hover:not(:disabled){background:var(--header-2)}.btn-valider{background:color-mix(in srgb,var(--green) 16%,var(--surface));border-color:color-mix(in srgb,var(--green) 45%,var(--border));color:color-mix(in srgb,var(--green) 85%,var(--text))}.btn-valider:hover:not(:disabled){background:color-mix(in srgb,var(--green) 26%,var(--surface));border-color:var(--green)}.btn-danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,var(--border))}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--red) 10%,var(--surface))}.btn-discret{border-color:transparent;background:transparent}.btn-lien{border:0;background:transparent;color:var(--blue);padding:3px 9px;border-radius:99px;font-weight:500;text-decoration:none}.btn-lien:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 10%,transparent)}.btn-lien:active:not(:disabled){transform:none;background:color-mix(in srgb,var(--blue) 16%,transparent)}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.btn svg{flex-shrink:0}.btn-icone{padding:5px}.btn-icone.btn-sm{padding:4px}.copier{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;padding:0;border:1px solid transparent;border-radius:6px;background:none;color:var(--muted);cursor:pointer}.copier:hover{border-color:var(--border);background:var(--surface);color:var(--blue)}.copier.ok{color:var(--green, #16a34a)}.bascule{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--surface2);border:1px solid var(--border)}.bascule>[role=tab]{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 10px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s,color .12s}.bascule>[role=tab]:hover:not(:disabled):not([aria-selected=true]){color:var(--text)}.bascule>[role=tab][aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.bascule>[role=tab]:disabled{opacity:.45;cursor:not-allowed}.bascule>[role=tab]:focus-visible{outline:2px solid var(--blue);outline-offset:-1px}.interrupteur{display:inline-flex;align-items:center;gap:8px;padding:2px;border:0;background:none;color:inherit;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.interrupteur:disabled{opacity:.5;cursor:not-allowed}.interrupteur-piste{position:relative;flex:none;width:34px;height:20px;border-radius:999px;background:color-mix(in srgb,currentColor 30%,transparent);transition:background .18s ease}.interrupteur-bouton{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .18s ease}.interrupteur[aria-checked=true] .interrupteur-piste{background:var(--green)}.interrupteur[aria-checked=true] .interrupteur-bouton{transform:translate(14px)}.interrupteur:focus-visible .interrupteur-piste{outline:2px solid var(--blue);outline-offset:2px}.bascule>[role=tab]>span{overflow:hidden;text-overflow:ellipsis}.btn-occupe{pointer-events:none}.spin{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dlg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08101e8c;z-index:40;animation:fade .12s}.dlg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px #00000059;z-index:41;animation:pop .14s;outline:none}.dlg-sm{width:min(440px,calc(100vw - 32px))}.dlg-lg{width:min(820px,calc(100vw - 32px))}.dlg-xl{width:min(1180px,calc(100vw - 32px))}.dlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 10px;border-bottom:1px solid var(--border)}.dlg-title{margin:0;font-size:17px;font-weight:700}.dlg-sub{color:var(--muted);font-size:13px;margin-top:2px}.dlg-close{border:0;background:none;font-size:22px;line-height:1;padding:2px 6px;color:var(--muted);cursor:pointer;border-radius:6px}.dlg-close:hover{background:var(--surface2);color:var(--text)}.dlg-body{padding:14px 20px;overflow:auto;flex:1}.dlg-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.dlg-msg{white-space:pre-line}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}}.menu{min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000038;z-index:50;animation:pop2 .1s}@keyframes pop2{0%{opacity:0;transform:translateY(-3px)}}.mi{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:7px 10px;border:0;border-radius:7px;background:none;text-align:left;cursor:pointer}.mi:hover:not(:disabled){background:var(--surface2)}.mi:disabled{opacity:.5;cursor:default}.mi-danger{color:var(--red)}.mi-note{color:var(--muted);font-size:11.5px}.mi-sep{height:1px;background:var(--border);margin:5px 2px}.mi-lbl{padding:6px 10px 2px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}.dots{border:0;background:none;padding:4px;border-radius:6px;cursor:pointer;color:var(--muted);display:inline-flex}.dots:hover{background:var(--surface2);color:var(--text)}.dots svg{fill:currentColor}.toast-viewport{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60;width:360px;max-width:calc(100vw - 32px);list-style:none;margin:0;padding:0}.toast{position:relative;padding:10px 34px 10px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--blue);box-shadow:0 10px 30px #0003;animation:slide .18s}.toast-succes{border-left-color:var(--green)}.toast-erreur{border-left-color:var(--red)}.toast-avert{border-left-color:var(--amber)}.toast-title{font-weight:600}.toast-desc{color:var(--muted);font-size:12.5px;margin-top:2px;white-space:pre-line}.toast-close{position:absolute;top:6px;right:8px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}@keyframes slide{0%{opacity:0;transform:translate(12px)}}.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--surface2);border:1px solid var(--border);margin:2px 4px 2px 0}.chip-bleu{background:var(--blue-soft);border-color:transparent;color:var(--blue)}.chip-vert{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green);border-color:transparent}.chip-orange{background:var(--orange-soft);color:var(--orange);border-color:transparent}.chip-rouge{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);border-color:transparent}.chip-gris{color:var(--muted)}.tabs-list{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:12px}.tabs-btn{padding:8px 14px;border:0;background:none;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:600}.tabs-btn[data-state=active]{color:var(--blue);border-bottom-color:var(--blue)}.champ{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.champ-lbl{font-size:12.5px;color:var(--muted);font-weight:600}.champ input,.champ select,.champ textarea,.dlg input[type=text],.dlg input[type=search],.dlg select,.dlg textarea{padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}.champ input:focus,.champ select:focus,.dlg textarea:focus{outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:0}.champ-aide{font-size:11.5px;color:var(--faint)}.champ-err{font-size:12px;color:var(--red)}.skel{display:flex;flex-direction:column;gap:8px;padding:6px 0}.skel-l{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface2),var(--border),var(--surface2));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.vide,.empty,.pp-none,.hi-empty,.sm-empty,.ac-empty,.qt-vide,.tc-empty{color:var(--muted);padding:18px;text-align:center}.saved-tag{color:var(--green);font-size:12px;min-width:80px}.hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;background:linear-gradient(90deg,var(--header-2),var(--header));color:#fff;position:sticky;top:0;z-index:20}.brand-mark{height:34px;display:block}.hdr-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.hdr-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:8px;border:1px solid rgba(255,255,255,.28);background:#ffffff1a;color:#fff;cursor:pointer;font-size:13px}.hdr-btn:hover{background:#fff3}a.hdr-btn{text-decoration:none}.hdr-btn.icon{width:34px;justify-content:center;padding:6px 0;font-size:15px}.home-btn{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:8px;color:#fff;opacity:.85}.home-btn:hover{background:#ffffff2e;opacity:1}.home-btn svg{width:18px;height:18px;fill:currentColor}.meta-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12.5px;white-space:nowrap;max-width:260px}.meta-chip b{color:#fff;font-weight:700}.meta-chip.title-chip{overflow:hidden;text-overflow:ellipsis;display:block;max-width:340px;min-width:0;flex:0 1 auto}.header-spacer{flex:1}.hdr-btn svg{width:16px;height:16px;fill:currentColor}.hdr-btn svg.trait{fill:none}.hdr-vert{color:#fff;background:color-mix(in srgb,var(--green) 70%,transparent);border-color:transparent}.hdr-vert:hover{background:var(--green)}.tk-badge{background:var(--orange);color:#fff;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;margin-left:2px}.role-sim{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:3px 6px;border-radius:8px;background:#0000002e;font-size:12px}.rs-lbl{opacity:.85;margin-right:2px}.rs-opt{border:0;background:transparent;color:#fff;padding:3px 8px;border-radius:6px;cursor:pointer;opacity:.75}.rs-opt.on{background:#fff;color:var(--header);opacity:1;font-weight:600}.dash{max-width:1200px;margin:0 auto;padding:18px 18px 60px}.offline{background:color-mix(in srgb,var(--red) 12%,var(--surface));border:1px solid var(--red);color:var(--red);padding:10px 14px;border-radius:10px;margin-bottom:14px;font-weight:600}.drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;border:2px dashed color-mix(in srgb,var(--blue) 45%,var(--border));border-radius:14px;background:var(--surface);cursor:pointer;text-align:center;transition:border-color .15s,background .15s;margin-bottom:16px}.drop:hover,.drop:focus-visible{border-color:var(--blue);background:var(--blue-soft);outline:none}.drop .ic{font-size:36px}.drop .big{font-size:17px;font-weight:700}.drop .hint{color:var(--faint);font-size:12px;margin-bottom:6px}.drop.slim{flex-direction:row;justify-content:center;gap:12px;padding:10px 16px}.drop.slim .ic{font-size:20px}.drop.slim .big{font-size:14px}.drop.slim .hint,.drop.slim .muted{display:none}.drag-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:color-mix(in srgb,var(--blue) 18%,rgba(255,255,255,.6));border:4px dashed var(--blue);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--blue);pointer-events:none}.plan-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}.pb-search{display:flex;align-items:center;gap:8px;flex:1 1 280px}.pb-box{position:relative;flex:1}.pb-box input{width:100%;padding:7px 30px 7px 32px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.pb-box input:focus{outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent)}.pb-mag{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.7}.pb-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:18px;color:var(--muted);cursor:pointer}.pb-count{color:var(--muted);font-size:12.5px;white-space:nowrap}.pb-filter,.pb-sort{display:flex;align-items:center;gap:6px}.pb-lbl{color:var(--muted);font-size:12.5px}.pb-filter select{padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.pb-tri{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.pb-dir{color:var(--muted);margin-left:3px}.plans{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.plans th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}.plans td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.plans tr:last-child td{border-bottom:0}.pl-row{cursor:pointer;transition:background .1s}.pl-row:hover{background:color-mix(in srgb,var(--surface2) 60%,var(--surface))}.pl-row.open{background:var(--surface2)}.pl-caret{display:inline-block;color:var(--faint);margin-right:6px;transition:transform .12s;border:0;background:none;padding:0 2px;font:inherit;cursor:pointer;border-radius:4px}.pl-caret:hover{color:var(--text)}.pl-caret:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.pl-row.open .pl-caret{transform:rotate(90deg)}.pl-row .file{position:relative;padding-left:40px}.pl-id{display:flex;align-items:center;gap:12px;min-width:0}.pl-txt{min-width:0}.pl-vis{flex-shrink:0;width:84px;height:56px;border-radius:8px;background:var(--surface2);border:1px dashed var(--border)}.pl-vis-env{display:contents}.pl-vis-img{padding:3px;background:#f4f5f7;border:1px solid var(--border);cursor:zoom-in;overflow:hidden}.pl-vis-img img{display:block;width:100%;height:100%;object-fit:contain}.pl-vis-img:hover{border-color:var(--blue)}.pl-vis-img:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.vis-grand{display:block;width:100%;max-height:calc(100vh - 180px);object-fit:contain;background:#f4f5f7;border-radius:10px}.pn-lien{color:inherit;text-decoration:none}.pn-lien:hover{color:var(--blue);text-decoration:underline}.pn-lien:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}.fav{position:absolute;left:10px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:17px;color:var(--faint);cursor:pointer;padding:2px;line-height:1}.fav.on,.fav:hover{color:var(--amber)}.pn-num{font-weight:700;font-size:14.5px;letter-spacing:.01em}.pn-title{color:var(--muted);font-size:12.5px;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-one{margin-top:2px}.pn-var{font-size:12.5px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:0 6px}.pn-fname{font-size:11.5px}.pn-warn{color:var(--amber);font-size:12px;margin-left:6px}.pn-chip.chiffre{font-weight:600;border-color:transparent;background:color-mix(in srgb,var(--green) 14%,transparent);color:color-mix(in srgb,var(--green) 85%,var(--text))}.pn-chiffre{font-size:11.5px;font-weight:600;margin-left:6px;padding:0 6px;border-radius:6px;white-space:nowrap;background:color-mix(in srgb,var(--green) 14%,transparent);color:color-mix(in srgb,var(--green) 85%,var(--text))}.pn-count{margin-left:8px;color:var(--muted);font-size:12.5px}.pn-done{margin-left:8px;color:var(--green);font-size:12.5px}.pn-chips{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.pn-chip{font-size:11.5px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:0 6px}.dt{white-space:nowrap;width:140px;font-size:13px}.pl-act{text-align:right;white-space:nowrap;width:1%}.pl-act .btn,.pl-act .pg-ring,.pl-act .badge{margin-right:4px}.pl-det td{background:var(--bg);padding:0 12px 12px 40px}.d-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-top:8px}.d-cfg{margin-top:8px}.d-cfg-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px 0}.d-cfg-a{display:flex;align-items:center}.d-cfg-h.ouvrable{cursor:pointer;border-radius:8px}.d-cfg-h.ouvrable:hover .pn-var{border-color:var(--blue);color:var(--blue)}.d-row{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;padding:5px 0;border-bottom:1px dashed var(--border);align-items:start}.d-row:last-child{border-bottom:0}.d-k{color:var(--muted);font-size:12.5px;padding-top:3px}.d-v{min-width:0}.d-pair{margin-right:18px}.d-err{color:var(--red);margin-top:6px;white-space:pre-line;font-size:12.5px}.d-warn{color:var(--amber);margin-top:6px;white-space:pre-line;font-size:12.5px}.comment-input{width:100%;min-height:48px;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);resize:vertical}.sec-row td{padding:0;background:var(--bg);border-bottom:1px solid var(--border)}.sec-in{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:0;background:none;cursor:pointer;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.sec-caret{display:inline-block;transition:transform .12s;transform:rotate(90deg)}.sec-row.plie .sec-caret{transform:none}.sec-n{background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:0 7px;font-size:11px}.sec-favoris .sec-in{color:var(--amber)}.sec-actifs .sec-in{color:var(--blue)}.sec-finis .sec-in{color:var(--green)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface2);border:1px solid var(--border)}.badge.queued{color:var(--muted)}.badge.running{color:var(--blue);background:var(--blue-soft);border-color:transparent}.badge.cancelling{color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,transparent);border-color:transparent}.badge.error{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent);border-color:transparent}.chk{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.chk.cert{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.chk.nocert{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.chk.err{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.chk.st-analyse{background:var(--blue-soft);color:var(--header);display:inline-flex;align-items:center;gap:6px}.chk.st-a_chiffrer{background:var(--orange-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--orange) 40%,transparent)}.chk.st-chiffrage{background:var(--blue-soft);color:var(--blue)}.chk.st-publie{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.st-tot{font-family:ui-monospace,monospace;font-weight:500}.pg-wrap{margin-top:6px;min-width:220px}.pg-track{height:6px;border-radius:3px;background:var(--surface2);overflow:hidden}.pg-fill{height:100%;background:linear-gradient(90deg,var(--header-2),var(--blue));transition:width .4s}.pg-txt{font-size:12px;color:var(--muted);margin-top:3px}.pg-pct{float:right;color:var(--text)}.pg-ring{--p: 0;display:inline-flex;padding:3px;border-radius:999px;background:conic-gradient(var(--blue) calc(var(--p) * 1%),var(--border) 0);transition:background .4s}.pg-ring.stop{background:conic-gradient(var(--amber) calc(var(--p) * 1%),var(--border) 0)}.run-pill{background:var(--surface);color:var(--blue);border-color:transparent;cursor:default}.rv-steps{display:flex;gap:0;margin:6px 0 2px}.rv-step{flex:1;min-width:0;padding-right:8px}.rv-cap{display:flex;align-items:center}.rv-dot{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--surface2);border:2px solid var(--border);color:var(--muted);flex:none}.rv-rail{flex:1;height:2px;background:var(--border);margin:0 4px}.rv-done .rv-dot{background:var(--green);border-color:var(--green);color:#fff}.rv-done .rv-rail{background:var(--green)}.rv-now .rv-dot{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 22%,transparent)}.rv-wait,.rv-na{opacity:.58}.rv-lab{display:flex;align-items:center;gap:4px;margin-top:5px;font-weight:600;font-size:12.5px}.rv-now .rv-lab{color:var(--orange)}.rv-val{font-size:12px;color:var(--muted)}.rv-help{position:relative;display:inline-flex}.rv-i{width:16px;height:16px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:10px;font-weight:700;color:var(--muted);cursor:pointer;padding:0;line-height:1}.rv-i.on,.rv-i:hover{color:var(--blue);border-color:var(--blue)}.rv-tip{position:absolute;top:20px;left:0;z-index:5;width:280px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #0000002e;font-size:12px;font-weight:400;color:var(--text);white-space:normal}.rv-next{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:7px 10px;border-radius:8px;background:var(--orange-soft);border:1px solid color-mix(in srgb,var(--orange) 30%,transparent);font-size:12.5px}.rv-nextk{color:var(--orange);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.rv-nextw{color:var(--muted)}.rv-go{margin-left:auto}.rv-ko{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--red) 10%,var(--surface));border:1px solid var(--red);color:var(--red);font-size:12.5px}:root[data-theme=dark] .rv-next{background:color-mix(in srgb,var(--orange) 16%,var(--surface))}.hi-modes{display:flex;gap:4px;margin-bottom:10px}.hi-mode{padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:12.5px}.hi-mode.on{background:var(--blue);border-color:var(--blue);color:#fff}.hi-group{border:1px solid var(--border);border-radius:9px;margin-bottom:6px;overflow:hidden}.hi-summary{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:0;background:var(--surface2);cursor:pointer;text-align:left}.hi-caret{display:inline-block;color:var(--faint);transition:transform .12s}.hi-summary.open .hi-caret{transform:rotate(90deg)}.hi-title{font-weight:600}.hi-sub{color:var(--muted)}.hi-count{margin-left:auto;color:var(--muted);font-size:12px}.hi-table{width:100%;border-collapse:collapse}.hi-table td{padding:6px 12px;border-top:1px solid var(--border);vertical-align:top;font-size:13px}.hi-when{white-space:nowrap;color:var(--muted);width:120px}.hi-who{white-space:nowrap;width:120px}.hi-what{display:block}.hi-detail{display:block;color:var(--muted);font-size:12px;white-space:pre-line}.sm-hero{margin-bottom:12px}.sm-pnum{font-size:20px;font-weight:800}.sm-rev{margin-left:8px;font-size:13px;color:var(--muted);font-weight:400}.sm-ttl{color:var(--muted)}.sm-tags{margin-top:4px}.sm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.sm-card{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.sm-ck{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}.sm-cv{font-size:20px;font-weight:700;margin:2px 0}.sm-cn{font-size:12px;color:var(--muted)}.sm-none{color:var(--faint);font-weight:400;font-size:14px}.sm-sec{margin-bottom:12px}.sm-sk{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px}.sm-cpx{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.sm-cpx.hard{border-color:color-mix(in srgb,var(--orange) 50%,var(--border))}.sm-code{font-size:26px;font-weight:800;letter-spacing:.02em;color:var(--blue)}.sm-cpxh{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.sm-why{margin:6px 0;padding-left:18px;color:var(--muted);font-size:12.5px}.sm-why.none{padding-left:0;list-style:none}.sm-src{font-size:12px;color:var(--muted)}.sm-src.ok{color:var(--green)}.sm-tbl{width:100%;border-collapse:collapse;font-size:13px}.sm-tbl td{padding:5px 6px;border-top:1px solid var(--border);vertical-align:top}.sm-pn{font-weight:700;width:50px}.sm-pd{display:block}.sm-pr{display:block;color:var(--faint);font-size:11.5px}.sm-pq{color:var(--muted);white-space:nowrap}.sm-pe{display:block;color:var(--faint);font-size:11.5px}.sm-buy{color:var(--blue);font-style:italic}.sm-pp{text-align:right;white-space:nowrap;font-weight:600}.tc-tot{display:flex;gap:18px;flex-wrap:wrap;padding:8px 12px;margin-bottom:10px;border-radius:9px;background:var(--surface2)}.tc-totk{font-weight:700}.tc-plan{padding:10px 0 14px;border-top:1px solid var(--border)}.tc-plan:first-of-type{border-top:0}.tc-name{font-weight:600;margin-bottom:6px}.tc-kv{display:flex;gap:10px;font-size:13px;padding:2px 0}.tc-k{width:100px;color:var(--muted)}.tc-cout{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.tc-chead{display:flex;align-items:center;gap:10px;margin-bottom:8px}.tc-ctitle{font-weight:700}.tc-ccalls{color:var(--muted);font-size:12.5px;flex:1}.tc-cwarn{background:color-mix(in srgb,var(--amber) 12%,transparent);border-left:3px solid var(--amber);padding:6px 10px;border-radius:6px;font-size:12.5px;margin-bottom:8px}.tc-cerr{color:var(--red)}.tc-cload{color:var(--muted)}.tc-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--surface2)}.tc-seg{display:block;height:100%}.tc-legs{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:5px 0 10px}.tc-chip{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px;background:var(--faint)}.tc-p-ocr{background:#7c3aed}.tc-p-part1,.tc-p-extraction{background:var(--blue)}.tc-p-vision,.tc-p-part2{background:var(--orange)}.tc-p-chiffrage,.tc-p-costing{background:var(--green)}.tc-p-upgrade{background:var(--pink)}.tc-p-divers{background:var(--faint)}.tc-ctab{width:100%;border-collapse:collapse;font-size:12.5px}.tc-ctab th{text-align:right;font-weight:600;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--border)}.tc-ctab th:first-child{text-align:left}.tc-ctab td{padding:4px 6px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.tc-ctab td:first-child{text-align:left;white-space:normal}.tc-ctab tfoot td{font-weight:700;border-bottom:0}.tc-prow{cursor:pointer}.tc-prow:hover{background:var(--surface2)}.tc-caret{color:var(--faint);margin-right:4px}.tc-ppart,.tc-ppct{color:var(--faint);margin-left:6px;font-size:11px}.tc-erow td{color:var(--muted);font-size:12px;background:var(--surface2)}.tc-el{padding-left:24px!important}.tc-em{color:var(--faint);margin-left:6px}.tc-ev{margin-left:6px;font-size:10.5px;padding:0 4px;border-radius:4px;background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.tc-csub{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:12px 0 4px}.tc-nat,.tc-mod{display:grid;grid-template-columns:1fr 110px 110px 60px;gap:8px;font-size:12.5px;padding:3px 0;border-bottom:1px dashed var(--border)}.tc-mod{grid-template-columns:1fr 2fr 110px}.tc-nat.sub{color:var(--muted);padding-left:14px}.tc-natt,.tc-natv,.tc-natp,.tc-modv{text-align:right}.tc-natn{color:var(--green)}.tc-modt{color:var(--muted)}.tc-cnote{font-size:11.5px;color:var(--faint);margin-top:6px}.dlg-welcome .dlg-head{display:none}.dlg-welcome .dlg-body{padding:0}.wl-hero{position:relative;overflow:hidden;padding:28px 24px 18px;background:linear-gradient(160deg,var(--header-2),var(--header));color:#fff;text-align:center}.wl-stage{position:relative;width:min(360px,80%);margin:0 auto 10px;aspect-ratio:1000 / 396}.wl-axis-h,.wl-axis-v{position:absolute;background:#ffffff47}.wl-axis-h{left:-100vw;right:-100vw;top:45.2%;height:1px}.wl-axis-v{top:-100px;bottom:-100px;left:33.8%;width:1px}.wl-brand-mark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.95}.wl-plane{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;animation:vol 2.4s ease-out both}@keyframes vol{0%{transform:translate(-40%,30%) scale(.7);opacity:0}60%{opacity:1}to{transform:none}}.wl-tagline{font-size:15px;opacity:.95}.wl-body{padding:16px 24px 4px}.wl-stitle{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:12px 0 8px}.wl-features{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.wl-feat{display:flex;gap:8px;align-items:baseline}.wl-ico{color:var(--blue)}.wl-note{display:flex;gap:8px;margin-top:12px;padding:8px 12px;border-radius:8px;background:var(--orange-soft);font-size:12.5px}.wl-outputs{display:flex;gap:12px}.wl-out{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:9px;flex:1}.wl-out small{display:block;color:var(--muted)}.wl-oico{font-size:20px}.wl-biz{margin:14px 24px 10px;padding:12px 14px;border-radius:10px;background:var(--blue-soft)}.wl-biz-title{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--blue);margin-bottom:8px}.wl-biz-logo{width:20px;height:20px;fill:currentColor}.wl-biz-items{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.wl-biz-item{display:flex;gap:8px;align-items:flex-start;font-size:13px}.wl-biz-item em{display:block;font-style:normal;color:var(--blue);font-size:11.5px}.wl-biz-item small{display:block;color:var(--muted);font-size:12px}.wl-bico{font-size:16px}.wl-biz-lock{margin-top:10px;font-size:12px;color:var(--muted)}:root[data-theme=dark] .wl-note{background:color-mix(in srgb,var(--orange) 16%,var(--surface))}:root[data-theme=dark] .wl-biz{background:color-mix(in srgb,var(--blue) 12%,var(--surface))}.mp-dup,.mp-pn{padding:10px 12px;border-radius:9px;margin-bottom:10px;font-size:13px}.mp-dup{background:color-mix(in srgb,var(--red) 10%,var(--surface));border:1px solid var(--red)}.mp-pn{background:var(--orange-soft);border:1px solid color-mix(in srgb,var(--orange) 40%,transparent)}.mp-dup-list{margin:6px 0;display:flex;flex-wrap:wrap;gap:4px}.mp-dup-ack{display:flex;align-items:center;gap:6px;margin-top:8px;font-weight:600}.mp-std{padding:10px 12px;border-radius:9px;background:var(--surface2);margin-bottom:8px}.mp-opt{display:flex;align-items:flex-start;gap:10px;cursor:pointer;border:1px solid transparent}.mp-opt input{margin-top:3px}.mp-opt>span{display:flex;flex-direction:column}.mp-opt.on{border-color:var(--blue);background:var(--blue-soft)}.mp-adv{border:1px solid var(--border);border-radius:9px;padding:6px 12px}.mp-adv summary{cursor:pointer;font-weight:600;padding:4px 0}.mp-opt{display:grid;grid-template-columns:auto auto 1fr;gap:4px 8px;align-items:baseline;padding:6px 0;border-top:1px dashed var(--border)}.mp-opt .muted{grid-column:2 / 4;font-size:12.5px}.mp-opt.off{opacity:.5}.ac-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;margin-bottom:8px}.ac-leg{padding:3px 8px;border-radius:6px;background:var(--surface2)}.ac-leg b{margin-right:4px}.ac-leg-admin b{color:var(--red)}.ac-leg-avance b{color:var(--blue)}.ac-tools{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ac-search{flex:1;max-width:320px}.ac-table{width:100%;border-collapse:collapse;font-size:13px}.ac-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--border)}.ac-table td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.ac-row.ac-new{background:color-mix(in srgb,var(--amber) 8%,transparent)}.ac-who b{display:block}.ac-mail{display:block;color:var(--faint);font-size:11.5px}.ac-you{font-size:11px;color:var(--blue)}.ac-fixed{font-weight:600}.ac-lock{margin-left:6px;font-size:10.5px;padding:0 5px;border-radius:4px;background:var(--surface2);color:var(--muted)}.ac-sel{padding:4px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}.ac-num{text-align:right}.ac-when{white-space:nowrap;color:var(--muted)}.ac-dash{color:var(--faint)}.ac-btn{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:12.5px}.ac-btn.on{background:var(--blue);border-color:var(--blue);color:#fff}.pp-grid{display:grid;grid-template-columns:300px 1fr;gap:14px;min-height:360px}.pp-rail{border-right:1px solid var(--border);padding-right:10px;overflow:auto;max-height:68vh}.pp-detail{overflow:auto;max-height:68vh;min-width:0}.pp-item{display:flex;flex-direction:column;width:100%;padding:7px 10px;border:0;border-radius:8px;background:none;text-align:left;cursor:pointer;margin-bottom:2px}.pp-item:hover{background:var(--surface2)}.pp-item.on{background:var(--blue-soft)}.pp-item.off{opacity:.55}.pp-item b{font-size:13px}.pp-item span{font-size:11.5px;color:var(--muted)}.pp-fam{margin-bottom:8px}.pp-famt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:6px 10px 2px}.pp-title{margin:0 0 6px;font-size:16px}.pp-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:8px}.pp-warn{background:color-mix(in srgb,var(--amber) 12%,transparent);border-left:3px solid var(--amber);padding:6px 10px;border-radius:6px;font-size:12.5px;margin-bottom:8px}.pp-resume{margin:6px 0}.pp-decl{margin:4px 0;font-size:13px}.pp-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:12px 0 4px}.pp-tbl{width:100%;border-collapse:collapse;font-size:12.5px}.pp-tbl th{text-align:left;color:var(--muted);font-weight:600;padding:3px 6px;border-bottom:1px solid var(--border)}.pp-tbl td{padding:3px 6px;border-bottom:1px dashed var(--border);vertical-align:top}.pp-pre{white-space:pre-wrap;word-break:break-word;font:12px/1.5 ui-monospace,Consolas,monospace;background:var(--surface2);padding:10px 12px;border-radius:8px;max-height:420px;overflow:auto;margin:0}.pp-note{font-size:12.5px;color:var(--muted);font-style:italic}.pp-champs{list-style:none;padding-left:0;margin:4px 0;font-size:12.5px}.pp-champs.sub{padding-left:18px;border-left:1px dashed var(--border);margin-left:4px}.pp-champs li{padding:2px 0}.pp-type{color:var(--blue);margin-left:4px}.pp-req{color:var(--red)}.pp-desc{display:block;color:var(--muted)}.pp-schema summary{cursor:pointer;color:var(--muted);font-size:12.5px;margin:8px 0}.tk-tools{display:flex;align-items:center;gap:12px;margin-bottom:8px}.tk-filtres{display:flex;gap:4px}.tk-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--faint)}.tk-dot.ouvert,.tk-etat.ouvert,.tk-st.ouvert.on{background:var(--red);color:#fff}.tk-dot.en_cours,.tk-etat.en_cours,.tk-st.en_cours.on{background:var(--amber);color:#fff}.tk-dot.resolu,.tk-etat.resolu,.tk-st.resolu.on{background:var(--green);color:#fff}.tk-fhead{display:flex;align-items:center;gap:10px}.tk-etat{padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.tk-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin:6px 0 10px;align-items:center}.tk-go{font-size:12.5px}.tk-corps{white-space:pre-line;padding:10px 12px;background:var(--surface2);border-radius:8px}.tk-ctx{font:11.5px/1.4 ui-monospace,Consolas,monospace;color:var(--muted);white-space:pre-wrap;margin:8px 0 0}.tk-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:12px 0 4px}.tk-act{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tk-st{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:12.5px}.tk-txt{width:100%;resize:vertical;margin-bottom:6px}.tk-repinfo{color:var(--muted);font-size:12px}.md-form .pp-lbl{margin-top:14px}.md-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px}.md-check{display:flex;align-items:center;gap:6px;padding-top:22px}.md-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.md-aff .pp-lbl{margin-top:14px}.md-tbl{width:100%;border-collapse:collapse;font-size:13px}.md-tbl th{text-align:left;color:var(--muted);font-weight:600;padding:4px 6px;border-bottom:1px solid var(--border);font-size:12px}.md-tbl td{padding:5px 6px;border-bottom:1px dashed var(--border);vertical-align:middle}.md-sel{padding:4px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);min-width:220px}.md-orig{font-size:12.5px}.md-appel{color:var(--green);font-weight:600}.md-famille{color:var(--blue)}.md-environnement{color:var(--muted);font-style:italic}.md-manque{color:var(--amber);font-style:normal}.qt-filt{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;margin-top:6px}.qt-filt label{display:flex;align-items:center;gap:6px}.qt-filt input{width:170px}.qt-tbl{width:100%;border-collapse:collapse;font-size:13px}.qt-tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.qt-tbl th.qt-s{cursor:pointer}.qt-tbl th.qt-s:hover{color:var(--text)}.qt-tbl td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.qt-tbl .num{text-align:right;white-space:nowrap}.qt-row{cursor:pointer}.qt-row:hover{background:var(--surface2)}.qt-h3{margin:0 0 6px}.qt-recap{margin:0 0 8px}.qt-warn{background:color-mix(in srgb,var(--amber) 12%,transparent);border-left:3px solid var(--amber);padding:6px 10px;border-radius:6px;font-size:12.5px;margin-bottom:8px}.qt-hint{color:var(--muted);font-size:12.5px}.qt-foot{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}@media(max-width:900px){.pp-grid{grid-template-columns:1fr}.pp-rail{border-right:0;border-bottom:1px solid var(--border);max-height:200px;padding-right:0}.md-grid{grid-template-columns:1fr 1fr}.sm-cards,.wl-features,.wl-biz-items{grid-template-columns:1fr}}@media(max-width:640px){.dash{padding:12px 12px 40px}.hdr{padding:8px 12px}.plans th:nth-child(2),.plans td.dt{display:none}.pl-vis{width:60px;height:40px}.pl-act{width:auto}.d-row,.md-grid{grid-template-columns:1fr}.tc-nat,.tc-mod{grid-template-columns:1fr 1fr}.role-sim{display:none}}:root{--orange: #ec5700;--orange-soft: #fff1e8;--blue: #1b5aaa;--header: #1f64c0;--header-2: #2f7fd6;--blue-soft: #e8f0fb;--green: #16a34a;--amber: #d97706;--red: #dc2626;--pink: #db2777;--bg: #f4f6f9;--surface: #ffffff;--surface2: #f0f3f7;--border: #d9dee6;--text: #1c2431;--muted: #5b6878;--faint: #8a97a8;--canvas: #e6e9ee;color-scheme:light}:root[data-theme=dark]{--bg: #0d1a2b;--surface: #152741;--surface2: #1c3352;--border: #2b4467;--text: #dde6f2;--muted: #94a8c2;--faint: #7089a8;--canvas: #0a1422;--header: #0e3f77;--header-2: #175193;--orange: #d2632c;--blue: #7fa8dc;color-scheme:dark}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}
