.filter-deuteranopia{filter:url(#filter-deuteranopia)}.filter-protanopia{filter:url(#filter-protanopia)}.filter-tritanopia{filter:url(#filter-tritanopia)}.filter-monochromacy{filter:url(#filter-monochromacy)}:root{--olaqin-navy:#1b3d6f;--olaqin-navy-80:#1b3d6fcc;--olaqin-red:#e8282b;--olaqin-red-10:#e8282b1a;--olaqin-gold:#f5a623;--t-page-bg:#f7f8fa;--t-card-bg:#fff;--t-bg-2:#eef0f4;--t-bg-3:#e2e5ec;--t-text-1:#111827;--t-text-2:#4b5563;--t-text-3:#9ca3af;--t-border-1:#e5e7eb;--t-border-2:#d1d5db;--t-border-3:#9ca3af;--t-nav-bg:#1b3d6f;--t-nav-text:#fff;--t-nav-sub:#ffffffa6;--t-sidebar-bg:#fff;--t-sidebar-border:#e5e7eb;--entity-olaqin:#1b3d6f;--entity-4axes:#0f6e56;--entity-prestataire:#6b7280;--entity-partenaire:#f5a623;--success:#059669;--warning:#d97706;--danger:#dc2626;--info:#2563eb;--font-sans:"DM Sans", system-ui, sans-serif;--font-mono:"DM Mono", monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000f,0 1px 3px #0000001a;--shadow-md:0 4px 6px #00000012,0 2px 4px #0000000f;--shadow-lg:0 10px 15px #00000012,0 4px 6px #0000000d;--transition:.15s cubic-bezier(.4,0,.2,1);--sidebar-w:260px;--topbar-h:56px}[data-theme=A]{--t-page-bg:#f5f0e8;--t-card-bg:#fdfaf5;--t-bg-2:#ede8dc;--t-nav-bg:#1a1a2e;--t-nav-text:#e8eaf0;--t-nav-sub:#e8eaf099;--t-border-1:#ddd8cc;--t-border-2:#c8c3b5;--t-text-1:#1a1a2e;--t-text-2:#4a4a6a}[data-theme=B]{--t-sidebar-bg:#1a1a2e;--t-sidebar-border:#2a2a4e;--t-nav-bg:#16213e;--t-nav-text:#e8eaf0}[data-theme=B] .topbar{background:#16213e;border-bottom:1px solid #ffffff14}[data-theme=B] .nav-item{color:#e8eaf0bf}[data-theme=B] .nav-item:hover{color:#fff;background:#ffffff14}[data-theme=B] .nav-item.active{color:#ff6b6e;background:#e8282b33}[data-theme=B] .sidebar-profile-text{color:#e8eaf0}[data-theme=B] .sidebar-profile-sub{color:#e8eaf08c}[data-theme=C]{--t-page-bg:#f0f4ff;--t-card-bg:#fff;--t-bg-2:#e8eeff;--t-border-1:#c8d4ff}[data-dark=true]{--t-page-bg:#1a1d2e;--t-card-bg:#21253a;--t-bg-2:#282c42;--t-bg-3:#2f3450;--t-text-1:#e8ecf4;--t-text-2:#b0b8cc;--t-text-3:#6e7a94;--t-border-1:#2f3450;--t-border-2:#3a3f5c;--t-border-3:#4a5070;--shadow-sm:0 1px 4px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 10px 24px #0009;--olaqin-red-10:#e8282b2e;--olaqin-navy:#61afef}[data-dark=true][data-theme=A]{--t-page-bg:#1a1610;--t-card-bg:#21201a;--t-bg-2:#2a2820}[data-dark=true][data-theme=B]{--t-sidebar-bg:#0d1117;--t-sidebar-border:#1c2333}[data-dark=true][data-theme=C]{--t-page-bg:#1a1d2e;--t-card-bg:#21253a;--t-bg-2:#282c42}[data-text-size=grand]{font-size:17.6px}[data-text-size=très\ grand]{font-size:19.2px}[data-high-contrast=true]{--t-border-1:#6b7280;--t-border-2:#374151;--t-text-2:#1f2937}[data-dark=true][data-high-contrast=true]{--t-border-1:#9ca3af;--t-text-2:#e5e7eb}[data-reduce-motion=true] *,[data-reduce-motion=true] :before,[data-reduce-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-font-dyslexic=true],[data-font-dyslexic=true] *{font-family:"OpenDyslexic", var(--font-sans)!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-sans);background:var(--t-page-bg);color:var(--t-text-1);line-height:1.6;transition:background .2s,color .2s}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--t-border-2);border-radius:2px}:focus-visible{outline:2px solid var(--olaqin-red);outline-offset:2px;border-radius:var(--radius-sm)}a{color:var(--olaqin-navy);text-decoration:none}a:hover{color:var(--olaqin-red)}input,select,textarea{font-family:var(--font-sans);background:var(--t-card-bg);color:var(--t-text-1);border:1px solid var(--t-border-2);border-radius:var(--radius-md);width:100%;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);padding:7px 11px;font-size:.875rem}input:focus,select:focus,textarea:focus{border-color:var(--olaqin-navy);box-shadow:0 0 0 3px var(--olaqin-navy)22;outline:none}[data-dark=true] input,[data-dark=true] select,[data-dark=true] textarea{background:var(--t-bg-2)!important;color:var(--t-text-1)!important;border-color:var(--t-border-2)!important}[data-dark=true] table thead tr{background:var(--t-bg-2)!important}[data-dark=true] th,[data-dark=true] td{color:var(--t-text-1)!important;border-color:var(--t-border-1)!important}[data-dark=true] code{color:#c678dd!important;background:#ffffff14!important}[data-dark=true] .rf-node-collab{background:var(--t-card-bg)!important;border-color:var(--t-border-2)!important}[data-dark=true] .rf-node-name{color:var(--t-text-1)!important}[data-dark=true] .rf-node-title{color:var(--t-text-2)!important}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition), box-shadow var(--transition), opacity var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--olaqin-navy);color:#fff;border-color:var(--olaqin-navy)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-sm);background:#16336a}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-ghost{color:var(--t-text-1);border-color:var(--t-border-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--t-bg-2)}.btn-sm{padding:4px 10px;font-size:.8125rem}.badge{border-radius:var(--radius-full);white-space:nowrap;border:1px solid;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-flex}.app-layout{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100vh;display:grid;overflow:hidden}.app-layout[data-sidebar=false]{grid-template-columns:1fr}.app-layout[data-sidebar=false] .main-content{grid-column:1}.topbar{background:var(--t-nav-bg);color:var(--t-nav-text);z-index:100;grid-column:1/-1;align-items:center;gap:16px;padding:0 20px;transition:background .2s;display:flex;box-shadow:0 1px #ffffff14}.sidebar{background:var(--t-sidebar-bg);border-right:1px solid var(--t-sidebar-border);flex-direction:column;gap:2px;padding:16px 0;transition:background .2s;display:flex;overflow-y:auto}.main-content{background:var(--t-page-bg);transition:background .2s;position:relative;overflow:hidden}.nav-item{border-radius:var(--radius-md);color:var(--t-text-2);cursor:pointer;transition:background var(--transition), color var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:calc(100% - 16px);margin:0 8px;padding:9px 16px;font-size:.875rem;font-weight:500;display:flex}.nav-item:hover{background:var(--t-bg-2);color:var(--t-text-1)}.nav-item.active{background:var(--olaqin-red-10);color:var(--olaqin-red)}.rf-node-collab{background:var(--t-card-bg);border:1.5px solid var(--t-border-1);border-radius:var(--radius-lg);width:200px;box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--transition), border-color var(--transition), background var(--transition);padding:10px 14px}.rf-node-collab:hover{box-shadow:var(--shadow-md);border-color:var(--olaqin-navy)}.rf-node-collab.manager{border-color:var(--olaqin-navy);background:linear-gradient(135deg, var(--t-card-bg) 0%, var(--t-bg-2) 100%)}.rf-node-collab.selected{border-color:var(--olaqin-red);box-shadow:0 0 0 3px var(--olaqin-red)22}.rf-node-name{color:var(--t-text-1);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.rf-node-title{color:var(--t-text-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.6875rem;overflow:hidden}.rf-node-badges{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-width:320px;padding:10px 16px;font-size:.875rem;font-weight:500;animation:.2s toastIn}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}}.toast-success{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7}.toast-error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.toast-info{color:#1e40af;background:#eff6ff;border:1px solid #93c5fd}.toast-warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}[data-dark=true] .toast-success{color:#6ee7b7;background:#064e3b}[data-dark=true] .toast-error{color:#fca5a5;background:#7f1d1d}[data-dark=true] .toast-info{color:#93c5fd;background:#1e3a5f}[data-dark=true] .toast-warning{color:#fcd34d;background:#78350f}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--t-border-2);border-top-color:var(--olaqin-red);border-radius:50%;animation:.7s linear infinite spin}.modal-overlay{z-index:2000;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--t-card-bg);border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 60px #00000040}[data-dark=true] .modal-overlay{background:#0000008c}[data-dark=true] .modal{border:1px solid var(--t-border-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
