#root{height:100%}.brand{width:auto;min-width:calc(var(--navw) - 10px);padding-right:12px}.boot{height:100%;display:grid;place-items:center;color:var(--mut);padding:16px}.login{min-height:100%;display:grid;place-items:center;padding:24px}.login .pn{width:420px;max-width:100%}.login .logo{display:flex;justify-content:center;padding:18px 0 6px}.login .logo img{height:40px}.login .quick{display:flex;flex-wrap:wrap;gap:6px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--pad)}.tile{display:flex;flex-direction:column;gap:8px;padding:10px 12px;text-decoration:none;color:inherit;transition:border-color var(--dur-1),transform var(--dur-1)}.tile:hover{border-color:var(--bd2);transform:translateY(-1px)}.tile .hd{display:flex;align-items:center;gap:8px}.tile .ib{width:28px;height:28px;border-radius:8px;background:var(--acs);color:var(--ac);display:grid;place-items:center;flex:none}.tile h3{font-size:13px}.tile p{color:var(--mut);font-size:var(--fs-md);line-height:1.4;min-height:2.8em}.tile .ft{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--mut);margin-top:auto}.tile .ft .bar{flex:1;min-width:0}.items .tbl td{white-space:normal;max-width:none;height:auto;padding:6px 8px;vertical-align:top}.items .tbl td.ctl{white-space:nowrap}.items .tbl .inp{font-size:var(--fs-sm)}.items .tbl .seg button{min-width:24px;justify-content:center;padding:0 6px;font-family:var(--mono)}.items .tbl .seg button.on.p5{background:var(--acg);color:#fff}.prio-legend{font-size:var(--fs-xs);color:var(--mut2)}.addrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:6px;padding:8px 10px;border-top:1px dashed var(--bd2)}.savestate{font-size:var(--fs-sm);color:var(--mut);display:inline-flex;align-items:center;gap:6px}.dist{display:inline-flex;gap:2px;align-items:flex-end;height:14px}.dist i{width:7px;background:var(--viz-2);border-radius:1px;display:block;min-height:2px;opacity:.85}.dist i:nth-child(5){background:var(--viz-1)}.exp td{background:color-mix(in srgb,var(--fg) 2%,transparent)}.md{white-space:pre-wrap;font:11.5px/1.5 var(--mono);max-height:60vh;overflow:auto}@media(max-width:900px){.addrow{grid-template-columns:1fr}}.arch{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--pad);align-items:start}.arch-map{padding:6px;overflow:hidden}.arch-map svg{width:100%;height:auto;display:block;font-family:var(--font)}.arch .band{fill:color-mix(in srgb,var(--fg) 3%,transparent);stroke:var(--bd);stroke-dasharray:4 4}.arch .band-label{font-size:10px;letter-spacing:.12em;fill:var(--mut2);font-weight:600}.arch .edge{fill:none;stroke-width:1.6;transition:opacity var(--dur-1),stroke-width var(--dur-1)}.arch .edge.main{stroke:var(--ac)}.arch .edge.data{stroke:var(--viz-3)}.arch .edge.loop{stroke:var(--ok)}.arch .edge.auto{stroke:var(--warn);stroke-width:1.1}.arch .edge.kpi{stroke:var(--mut);stroke-width:1.1}.arch .edge.ext{stroke:var(--mut2);stroke-width:1.1}.arch .edge.flow{stroke-dasharray:7 5;animation:archflow 1.4s linear infinite}.arch .edge.auto.flow,.arch .edge.kpi.flow,.arch .edge.ext.flow{stroke-dasharray:3 5;animation-duration:2.2s}.arch-map.static .edge.flow{animation:none;stroke-dasharray:none}.arch-map.static .edge.auto,.arch-map.static .edge.kpi,.arch-map.static .edge.ext{stroke-dasharray:3 4}.arch .edge.hi{stroke-width:2.6;opacity:1}.arch .edge.dim{opacity:.12;animation-play-state:paused}.arch .arrow{fill:var(--mut)}.arch .arrow.main{fill:var(--ac)}.arch .arrow.data{fill:var(--viz-3)}.arch .arrow.loop{fill:var(--ok)}.arch .arrow.auto{fill:var(--warn)}.arch .arrow.ext{fill:var(--mut2)}.arch .elabel rect{fill:var(--sf);stroke:var(--bd)}.arch .elabel .lead{stroke:var(--mut2);stroke-width:1;stroke-dasharray:2 3}.arch .elabel text{font-size:10px;fill:var(--fg2);font-family:var(--mono)}.arch .elabel.dim{opacity:.15}.arch .elabel{pointer-events:none}.arch .node{cursor:pointer;transition:opacity var(--dur-1);outline:none}.arch .node .box{fill:var(--sf);stroke:var(--bd);transition:stroke var(--dur-1),filter var(--dur-1)}.arch .node:hover .box,.arch .node.hi .box,.arch .node:focus-visible .box{stroke:var(--ac)}.arch .node.sel .box{stroke:var(--ac);stroke-width:1.5;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--ac) 45%,transparent))}.arch .node.dim{opacity:.28}.arch .node .ib{fill:var(--acs)}.arch .node .nicon{color:var(--ac);stroke:var(--ac);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.arch .node .nlabel{font-size:12.5px;font-weight:600;fill:var(--fg)}.arch .node .nsub{font-size:9.5px;fill:var(--mut);font-family:var(--mono)}.arch .node .prog-bg{fill:color-mix(in srgb,var(--fg) 8%,transparent)}.arch .node .prog{fill:var(--ac)}.arch .node .prog.ok{fill:var(--ok)}.arch .node .st{fill:var(--mut2)}.arch .node .st.published{fill:var(--ok)}.arch .node .st.draft{fill:var(--warn)}.arch .ext-node{cursor:default}.arch .ext-node rect{fill:color-mix(in srgb,var(--fg) 4%,transparent);stroke:var(--bd);transition:stroke var(--dur-1)}.arch .ext-node text{font-size:10.5px;fill:var(--mut)}.arch .ext-node.hi rect{stroke:var(--ac)}.arch .ext-node.hi text{fill:var(--fg)}.arch-side{position:sticky;top:0}.arch-side h3 .ib{width:22px;height:22px;border-radius:7px;background:var(--acs);color:var(--ac);display:inline-grid;place-items:center}.arch-side .ib .ic{width:13px;height:13px}.arch-row{border:0;background:none;padding:3px 4px;border-radius:6px;cursor:pointer;color:inherit;width:100%}.arch-row:hover{background:color-mix(in srgb,var(--fg) 5%,transparent)}.dot.k-main{background:var(--ac)}.dot.k-data{background:var(--viz-3)}.dot.k-loop{background:var(--ok)}.dot.k-auto{background:var(--warn)}.dot.k-kpi{background:var(--mut)}.dot.k-ext{background:var(--mut2)}.legend-line line{stroke-width:2;stroke:var(--mut)}.legend-line.main line{stroke:var(--ac)}.legend-line.data line{stroke:var(--viz-3)}.legend-line.loop line{stroke:var(--ok)}.legend-line.auto line{stroke:var(--warn);stroke-dasharray:3 3}.legend-line.kpi line{stroke-dasharray:3 3}.legend-line.ext line{stroke:var(--mut2);stroke-dasharray:3 3}@keyframes archflow{to{stroke-dashoffset:-24}}@media(max-width:1100px){.arch{grid-template-columns:minmax(0,1fr)}.arch-side{position:static}}.flow{padding:0;overflow:hidden}.flow-head{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--bd);min-height:34px;flex-wrap:wrap}.flow.collapsed .flow-head{border-bottom:0}.flow-head .ib{width:22px;height:22px;border-radius:7px;background:var(--acs);color:var(--ac);display:inline-grid;place-items:center;flex:none}.flow-head .ib .ic{width:13px;height:13px}.flow-title{font-size:12.5px}.flow-body{display:grid;grid-template-columns:minmax(0,1fr) 300px}.flow-canvas{overflow-x:auto;padding:12px 12px 14px}.flow-wrap{position:relative;min-width:calc(var(--n) * 172px)}.flow-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:0 30px;align-items:start}.flow-col{display:flex;flex-direction:column;gap:8px;min-width:0}.flow-colhd{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:600;display:flex;align-items:center;gap:6px;padding:0 2px 5px;border-bottom:2px solid var(--c, var(--bd));margin-bottom:2px;white-space:nowrap}.flow-colhd i{width:7px;height:7px;border-radius:50%;background:var(--c);flex:none}.flow-colhd .cnt{margin-left:auto;font-family:var(--mono);color:var(--mut2);letter-spacing:0}.fnode{position:relative;z-index:1;width:100%;text-align:left;border:1px solid var(--bd);background:var(--sf);color:var(--fg);border-radius:8px;padding:6px 8px 5px;min-height:46px;display:flex;flex-direction:column;gap:3px;cursor:pointer;font:inherit;transition:border-color var(--dur-1),box-shadow var(--dur-1),opacity var(--dur-1),transform var(--dur-1)}.fnode:hover,.fnode.hi{border-color:color-mix(in srgb,var(--ac) 60%,var(--bd))}.fnode.hi{box-shadow:0 0 0 1px color-mix(in srgb,var(--ac) 35%,transparent)}.fnode.on{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac),var(--glow);transform:translateY(-1px)}.fnode.dim{opacity:.28}.fnode.ess{background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 16%,var(--sf)),var(--sf) 72%);border-color:color-mix(in srgb,var(--ac) 45%,var(--bd))}.fnode.blank{border-style:dashed}.fnode.blank .fn-t{color:var(--fg2);font-weight:500}.fnode .fn-t{font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fnode .fn-m{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--mut);font-family:var(--mono);min-height:12px}.fnode .fn-m .mut2{color:var(--mut2)}.fnode .fn-ess{color:var(--ac);display:inline-flex;align-items:center;gap:2px;font-family:var(--font);font-weight:600;font-size:10px}.fnode .fn-ess .ic{width:10px;height:10px}.fnode.user:after{content:"ajout";position:absolute;top:-7px;right:8px;font-size:9px;line-height:12px;padding:0 5px;border-radius:6px;background:var(--acs);color:var(--ac);border:1px solid color-mix(in srgb,var(--ac) 40%,transparent);font-family:var(--mono)}.pips{display:inline-flex;gap:2px}.pips b{width:7px;height:4px;border-radius:1px;background:color-mix(in srgb,var(--fg) 12%,transparent)}.pips b.on{background:var(--ac)}.pips[data-p="5"] b.on{background:var(--warn)}.flow-svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.flow-svg.edges{z-index:0}.flow-svg.labels{z-index:2}.flow-svg .fe{fill:none;stroke-width:1.5;stroke-dasharray:6 5;animation:archflow 1.4s linear infinite;opacity:.75;transition:opacity var(--dur-1),stroke-width var(--dur-1)}.flow-svg .fe.same{stroke-dasharray:3 4}.flow-svg .fe.hi{stroke-width:2.4;opacity:1}.flow-svg .fe.dim{opacity:.07;animation-play-state:paused}[data-motion=off] .flow-svg .fe{animation:none}.flow-svg .fl rect{fill:var(--sf3, var(--sf));stroke:var(--bd2, var(--bd))}.flow-svg .fl text{font-size:10px;font-family:var(--mono);fill:var(--fg)}.flow-svg .fl .lead{stroke:var(--mut2);stroke-width:1;stroke-dasharray:2 3}.flow-side{border-left:1px solid var(--bd);padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px;min-width:0}.flow-side h4{margin:0;font-size:13px;line-height:1.3}.flow-side p{margin:0;line-height:1.45;font-size:12px}.flow-sidehd{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fn-stage{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:6px;padding:1px 6px}.fn-dot{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block}.flow-side .rel{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:6px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;width:100%;text-align:left;min-width:0}.flow-side .rel:hover{background:color-mix(in srgb,var(--fg) 5%,transparent)}.flow-side .rel b{font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-side .rel .mut{font-size:10.5px;font-family:var(--mono);white-space:nowrap}.flow-ans{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed var(--bd)}.flow-ans .ans{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.flow-legend{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--fg2)}.flow-legend>div{display:flex;align-items:center;gap:8px}.flow-legend .sw-ess,.flow-legend .sw-blank{width:26px;height:14px;border-radius:4px;border:1px solid color-mix(in srgb,var(--ac) 45%,var(--bd));background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 16%,var(--sf)),var(--sf) 72%);flex:none}.flow-legend .sw-blank{border-style:dashed;border-color:var(--bd);background:var(--sf)}.items .tbl tr.hi td{background:color-mix(in srgb,var(--ac) 10%,transparent)}.items .tbl tr.rel td:first-child{box-shadow:inset 3px 0 color-mix(in srgb,var(--ac) 55%,transparent)}.items .tbl tr.flash td{animation:rowflash 1.2s ease-out}@keyframes rowflash{0%{background:color-mix(in srgb,var(--ac) 35%,transparent)}to{background:transparent}}@media(max-width:1100px){.flow-body{grid-template-columns:minmax(0,1fr)}.flow-side{border-left:0;border-top:1px solid var(--bd)}}
