.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;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:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.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 rgba(0,89,220,.8)}.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{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.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{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--color-ink: #0B0F19;--color-navy: #071A2B;--color-blue-900: #0A2942;--color-blue-700: #124A78;--color-blue-500: #1F7EAE;--color-cyan-100: #E8F6FB;--color-surface: #FFFFFF;--color-muted: #F3F6F8;--color-text: #111827;--color-border: #D6E0E8;font-family:Inter,system-ui,sans-serif;color:var(--color-text);background:#eef3f7}*{box-sizing:border-box}body{margin:0;background:#eef3f7}button,input,textarea,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--color-border);background:#fff;color:var(--color-ink);border-radius:7px;padding:10px 12px;font-weight:800;cursor:pointer}button:hover{border-color:var(--color-blue-500);background:#f4fbfe}button:disabled{opacity:.45;cursor:not-allowed}input,textarea,select{width:100%;border:1px solid var(--color-border);border-radius:7px;background:#fff;padding:10px 11px}textarea{min-height:82px;resize:vertical}label{display:grid;gap:6px;color:#526879;font-size:13px}a{color:inherit;text-decoration:none;font-weight:800}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.03em;margin-bottom:18px}h2{font-size:clamp(28px,4vw,46px);line-height:1.04;letter-spacing:-.025em}h3{font-size:20px}.global-header{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 28px 0 24px;background:linear-gradient(180deg,#04080d,#050910);color:#fff;border-bottom:1px solid rgba(119,145,164,.32)}.brand-link{width:150px;height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-start;padding:0;border:0;border-radius:0;background:transparent}.brand-link:hover{background:transparent;border-color:transparent}.brand-link img{width:142px;height:42px;object-fit:contain;object-position:left center}.primary-nav{display:flex;justify-content:flex-end;align-items:center;gap:28px;margin-left:auto}.primary-nav button{padding:6px 0;border:0;border-radius:0;background:transparent;color:#ffffffe0;font-size:14px;font-weight:900}.primary-nav button:hover{background:transparent;color:#fff}.header-menu{position:relative;flex:0 0 auto;display:grid;place-items:center}.menu-toggle{width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:7px;background:#0616236b;color:#ffffffe6;box-shadow:0 12px 28px #00000038}.menu-toggle:hover,.global-header.nav-open .menu-toggle{background:#092a42b8;border-color:#ffffff9e;color:#fff}.nav-drawer{position:absolute;top:44px;right:0;width:min(278px,calc(100vw - 24px));display:grid;gap:9px;padding:11px;background:#05121fe0;border:1px solid rgba(255,255,255,.25);border-radius:12px;box-shadow:0 28px 70px #0000006b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform-origin:top right}.nav-drawer button{width:100%;min-height:34px;justify-content:center;padding:8px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.92);background:#fffffff0;color:#06192a;text-align:center;font-size:12px;line-height:1.1;box-shadow:0 11px 24px #00000038,inset 0 1px #ffffffe6}.nav-drawer button:hover{background:#dff7ff;border-color:#fff;color:#04263b;transform:translate(-2px)}.hero-treatment{position:relative;min-height:610px;color:#fff;background:var(--color-navy);overflow:hidden}.hero-photo{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(100deg,#03070cf5,#071a2bd1,#0a2942a6),url(/assets/jorge-lucio.png);background-size:cover;background-position:center right;opacity:.95;filter:saturate(.5) contrast(1.08)}.hero-grid{position:relative;z-index:1;max-width:1220px;margin:0 auto;padding:74px 28px 82px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);gap:56px;align-items:center}.hero-pills{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;overflow:hidden}.hero-pills span,.section-chip,.objective-card span{width:fit-content;max-width:100%;display:inline-flex;justify-content:flex-start;align-items:center;justify-self:start;align-self:start;white-space:nowrap;border-radius:999px;padding:7px 12px;background:#003b5c;color:#fff;border:1px solid rgba(216,236,248,.62);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:900;box-shadow:0 8px 18px #003b5c38}.hero-pills span:nth-child(3){flex-basis:auto;margin-top:10px;margin-left:0;min-width:124px;position:relative;z-index:1;border-radius:999px;padding:8px 14px;background:#003b5c;color:#fff;box-shadow:0 8px 18px #003b5c3d}.hero-grid p{max-width:650px;color:#d9e9f3;font-size:18px;line-height:1.55}.hero-grid strong{display:block;margin-bottom:14px;color:#9ee9ff;font-size:20px}.hero-actions,.toolbar,.academic-nav{display:flex;flex-wrap:wrap;gap:10px}.light-btn{border-radius:999px;background:#fff;color:var(--color-ink);border-color:#fff}.light-btn.filled,.dark-btn{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.light-btn.filled{background:#cdf3ff;color:#063f58;border-color:#cdf3ff}.dark-btn:hover{color:#fff;background:var(--color-blue-700)}.objective-card{background:#fff;color:var(--color-ink);border-radius:18px;padding:32px;box-shadow:0 30px 80px #00000057}.objective-card h2{font-size:31px;margin:15px 0 20px}.objective-card dl{margin:0;display:grid}.objective-card div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:12px 0;border-top:1px solid var(--color-border)}.objective-card dt{font-weight:900}.objective-card dd{margin:0;color:#687988}main{max-width:1220px;margin:0 auto;background:#fff}.formation{display:grid;grid-template-columns:310px minmax(0,1fr);gap:34px;padding:36px 28px 56px;scroll-margin-top:92px}.formation-nav{display:grid;align-content:start;gap:9px}.lesson{justify-content:flex-start;background:#f3f7fa}.lesson.active{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.academic-module{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;border:1px solid var(--color-border);border-radius:8px;padding:26px;box-shadow:0 24px 70px #091f2f14;scroll-margin-top:96px}.academic-module h2:focus{outline:0}.academic-module p{color:#38566c;line-height:1.65}.rule-box{border-left:4px solid var(--color-blue-500);background:#f4f9fc;padding:15px 18px;margin:20px 0}.academic-references{display:grid;gap:4px;margin:10px 0 14px;padding-top:8px;border-top:1px solid #edf2f6}.academic-references a{color:#647184;font-size:11px;font-weight:650;line-height:1.35;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.module-visual{margin-top:28px;min-height:0;height:fit-content;display:grid;align-content:start;gap:12px;padding:18px;border:1px solid var(--color-border);border-radius:8px;background-image:linear-gradient(#e7eef3 1px,transparent 1px),linear-gradient(90deg,#e7eef3 1px,transparent 1px);background-size:26px 26px}.module-visual h3{margin:0;color:#607789;font-size:12px;font-weight:900;line-height:1.2}.visual-schema{display:grid;gap:10px}.visual-node{display:block;background:#fffffff0;border:1px solid #9db7ca;border-radius:8px;padding:10px 12px;box-shadow:inset 4px 0 0 var(--color-blue-900);font-size:14px;font-weight:900}.visual-node.main{background:#f8fcfe;color:var(--color-ink);border-color:#9db7ca;box-shadow:inset 4px 0 0 var(--color-blue-900)}.metaplan-slide{margin:8px 0 0;padding:10px 0 0;border-top:1px solid rgba(10,41,66,.16)}.metaplan-slide figcaption{margin-bottom:8px;color:#607789;font-size:11px;font-weight:850}.metaplan-slide div{position:relative;min-height:184px;border-radius:8px;background:#ffffff8a;border:1px solid #c8d9e5;overflow:hidden}.metaplan-svg{display:block;width:100%;height:auto;min-height:182px}.process-map-mini{margin:8px 0 0;padding:10px 0 0;border-top:1px solid rgba(10,41,66,.16)}.process-map-mini figcaption{margin-bottom:8px;color:#607789;font-size:11px;font-weight:850}.process-map-mini>div{display:grid;gap:8px;padding:10px;border-radius:8px;border:1px solid #c8d9e5;background:#ffffff94}.mini-band{display:grid;grid-template-columns:84px repeat(3,minmax(0,1fr));gap:5px;align-items:center;padding:7px;border-radius:7px;border:1px solid #b8ccd9}.mini-band strong{font-size:9px;line-height:1.1}.mini-band span{min-height:25px;display:grid;place-items:center;border-radius:5px;background:#fff;border:1px solid #c8d9e5;font-size:8px;font-weight:850;text-align:center}.mini-band.strategic{background:#f6fbfd}.mini-band.core{background:#e8f6fb}.mini-band.support{background:#f3f6f8}.transition{padding:42px 28px 22px;background:var(--color-muted);border-top:1px solid var(--color-border)}.transition p{max-width:760px;color:#425b6f;line-height:1.6}.lab-shell{padding:18px 28px 28px;background:#fff}.lab-shell.free-editor{--lab-height: clamp(900px, calc(100vh + 180px) , 1180px);background:#f7fafc;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:var(--lab-height);overflow:visible;scroll-margin-top:88px;padding-bottom:110px}.editor-toolbar{display:grid;gap:6px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:#fff;position:sticky;top:84px;z-index:16;box-shadow:0 14px 34px #071a2b14}.toolbar-row{display:flex;align-items:center;gap:10px;min-width:0}.toolbar-context{justify-content:flex-start;flex-wrap:wrap;row-gap:10px}.toolbar-tools{overflow-x:auto;padding-top:6px;border-top:1px solid #edf2f6;scrollbar-width:thin}.tool-group{display:inline-flex;align-items:center;gap:4px;padding-right:10px;margin-right:2px;border-right:1px solid #dce6ed;white-space:nowrap}.tool-group:last-child{border-right:0}.project-field{min-width:min(100%,320px);flex:1 1 520px}.project-field input{height:34px;padding:6px 9px;font-weight:600}.project-field small{color:#6b7f8d;font-size:11px;font-weight:650;line-height:1.25}.saved-state{display:inline-flex;align-items:center;gap:6px;color:#526879;font-size:12px;font-weight:700;white-space:nowrap}.editor-toolbar button{min-height:34px;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:650;box-shadow:none}.editor-toolbar button.active{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.ghost-danger{background:#fff8f8;color:#8a1c1c}.zoom-control{display:flex;align-items:center;gap:8px;width:160px;font-size:12px;color:#000;font-weight:850}.zoom-control input{padding:0;accent-color:#000}.editor-toolbar button.subtle-tool{min-height:26px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:750;background:#f4f8fb;color:#5c7182;border-color:#d6e3ec}.editor-toolbar button.subtle-tool:hover,.editor-toolbar button.subtle-tool:focus-visible{background:#e8f6fb;color:#003b5c;border-color:#b8d0dd}.editor-status-top{display:flex;flex-wrap:wrap;gap:14px;color:#526879;font-weight:700;font-size:12px;margin:6px 0}.editor-status-top span{display:inline-flex;align-items:center;gap:6px}.module-container{min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.module-title{font-size:18px;line-height:1.2;margin:4px 0 8px;letter-spacing:0;outline:0;scroll-margin-top:120px}.lab-shell:fullscreen{width:100vw;height:100vh;overflow:auto;padding:12px;background:#eef4f8}.lab-shell:fullscreen .module-container{height:calc(100vh - 176px);min-height:0}.lab-shell:fullscreen .free-workspace{min-height:0;height:100%}.lab-shell:fullscreen .free-canvas,.lab-shell:fullscreen .canvas-wrap{min-height:0;height:100%}.free-workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);grid-template-rows:minmax(0,1fr) auto;align-items:stretch;min-height:0;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:#fff}.free-workspace.panel-hidden{grid-template-columns:1fr}.free-workspace.panel-hidden .right-legend{display:none}.free-canvas{height:auto;min-height:0;border:0;border-radius:0;overflow:hidden;overscroll-behavior:contain}.free-canvas .react-flow{cursor:grab}.free-canvas .react-flow:active{cursor:grabbing}.empty-canvas-hint{position:absolute;z-index:5;left:50%;top:48%;transform:translate(-50%,-50%);max-width:520px;background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:28px;text-align:center;box-shadow:0 26px 80px #071a2b24}.empty-canvas-hint button{margin:8px 5px 0}.canvas-mode-chip{background:#fff;border:1px solid var(--color-border);border-radius:999px;padding:8px 12px;color:#526879;font-size:13px;font-weight:800}.canvas-controls{top:12px!important;left:12px!important;right:auto!important;bottom:auto!important;box-shadow:0 12px 28px #071a2b24}.canvas-controls button{color:#000}.canvas-mode-chip.react-flow__panel.top.left{top:12px!important;left:58px!important}.reopen-panel{position:absolute;top:14px;right:14px;z-index:10;background:#003b5c;color:#fff;border-color:#003b5c;box-shadow:0 14px 34px #071a2b2e}button.reopen-panel:hover,button.reopen-panel:focus-visible{background:#d8ecf8;color:#0b0f19;border-color:#003b5c;box-shadow:0 16px 38px #003b5c38}.right-legend{position:relative;top:auto;align-self:stretch;background:#e9e9e9;border-left:1px solid var(--color-border);padding:14px;overflow-y:auto;min-height:0;height:100%;max-height:none;overscroll-behavior:contain}.collapse-panel{position:sticky;top:0;z-index:4;width:100%;margin-bottom:10px;justify-content:center;background:#003b5c;color:#fff;border-color:#003b5c;box-shadow:0 12px 26px #071a2b29}button.collapse-panel:hover,button.collapse-panel:focus-visible{background:#d8ecf8;color:#0b0f19;border-color:#003b5c;box-shadow:0 14px 32px #003b5c33}.inspector{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:12px;display:grid;gap:8px;margin-bottom:12px}.inspector h3{font-size:16px;margin-bottom:2px}.inspector label{font-size:12px}.inspector input,.inspector textarea,.inspector select{padding:7px 8px;font-size:13px}.field-hint{color:#526879;font-size:11px;line-height:1.35;font-weight:650}.inspector textarea{min-height:68px}.entity-color-picker{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;font-weight:800;color:#526879}.entity-color-picker button{width:24px;height:24px;min-height:24px;padding:0;border-radius:999px;border:2px solid rgba(255,255,255,.96);box-shadow:inset 0 1px #ffffffdb,0 0 0 1px #a8c9dc,0 4px 12px #071a2b14}.entity-color-picker button.active{box-shadow:0 0 0 2px #003b5c,0 8px 16px #071a2b1f}.inspector-row label{display:flex;align-items:center;gap:8px;color:var(--color-text)}.inspector-row input{width:auto}.inspector-actions{display:flex;flex-wrap:wrap;gap:8px}.route-editor{display:grid;gap:8px;border:1px solid #c7dbe8;border-radius:8px;background:#fbfdfe;padding:10px}.route-editor strong{color:#003b5c;font-size:13px}.route-editor>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-editor small{color:#526879;font-size:11px;line-height:1.35}.repeat-toggle{display:grid;gap:4px;border:1px solid #c7dbe8;border-radius:8px;background:linear-gradient(180deg,#f7fbfd,#eef8ff);padding:9px 10px}.repeat-toggle label{display:flex;align-items:center;gap:8px;color:#003b5c;font-weight:900}.repeat-toggle input{width:auto;accent-color:#003b5c}.repeat-toggle small{color:#526879;line-height:1.35}.multi-target-box{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:8px;background:#f7fbfd;padding:10px}.multi-target-box strong{color:#003b5c;font-size:13px}.multi-target-box small{color:#526879;line-height:1.35}.multi-target-box>div{display:grid;gap:6px;max-height:160px;overflow:auto}.multi-target-box label{display:flex;align-items:center;gap:8px;color:var(--color-text);font-size:12px}.multi-target-box input{width:auto}.compact-legend{border-top:1px solid #d0d0d0;padding-top:16px}.bottom-bar{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--color-border);background:#fff;padding:8px 12px;color:#526879;font-size:12px}.bottom-bar button{padding:4px 8px;font-size:12px}.canvas-export-actions{justify-content:center;padding:14px;background:#f7fbfd}.canvas-export-actions button{min-width:190px;min-height:40px;padding:9px 14px;border-radius:999px;background:#071a2b;color:#fff;border-color:#071a2b;font-size:13px;font-weight:850;box-shadow:0 12px 26px #071a2b1f}.canvas-export-actions button:hover{background:#0a2942;color:#fff;border-color:#1f7eae}.export-sheet{position:fixed;left:-10000px;top:0;width:1600px;display:grid;grid-template-rows:auto 1fr;background:#fff;color:#071a2b;overflow:visible}.export-sheet header{display:flex;align-items:center;gap:28px;padding:0 36px;background:#02070d;color:#fff}.export-sheet header img{width:170px;height:54px;object-fit:contain;object-position:left center}.export-sheet header strong{display:block;min-width:0;font-size:30px;line-height:1.1;font-weight:900}.export-sheet header span{display:block;margin-top:4px;color:#d8ecf8;font-size:18px;font-weight:900}.export-sheet header small{display:block;margin-top:4px;color:#ffffffc2;font-weight:700}.export-sheet main{display:grid;gap:26px;justify-items:center;padding:30px;background:#fff}.export-sheet main>img{max-width:100%;width:auto;height:auto;border:1px solid #d6e0e8;box-shadow:0 18px 48px #071a2b1f}.export-metaplan-map{width:100%;border:1px solid #d6e0e8;box-shadow:0 18px 48px #071a2b1f;background:#fff}.export-metaplan-map svg{display:block;width:100%;height:auto}.export-relation-details{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.export-relation-details h2{grid-column:1 / -1;font-size:26px}.export-relation-details article{break-inside:avoid;border:1px solid #d6e0e8;border-left:6px solid #003b5c;border-radius:8px;padding:12px 14px}.export-relation-details h3{font-size:18px;margin-bottom:7px}.export-relation-details p{margin:3px 0;font-size:13px;line-height:1.32}.lab-shell.progressive{background:#f7fafc}.workbar{display:grid;grid-template-columns:minmax(260px,420px) auto auto auto auto;gap:10px;align-items:end;margin-bottom:12px}.workbar .saved{align-self:center}.progress-strip{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;border:1px solid var(--color-border);border-radius:999px;background:#fff;padding:10px 14px;margin-bottom:14px;color:#526879}.progress-strip strong{color:var(--color-ink)}.progress-strip small{flex-basis:100%;color:#6d7f8c}.lab-topbar{display:grid;gap:14px;border:1px solid var(--color-border);border-radius:8px;padding:16px;background:#fbfdfe;margin-bottom:16px}.lab-topbar>div:first-child{display:grid;grid-template-columns:minmax(240px,430px) auto;gap:18px;align-items:end}.saved{display:flex;align-items:center;gap:7px;color:#516778;font-weight:800}.toolbar select{width:auto;min-width:128px}.help-box{border:1px solid var(--color-border);border-radius:8px;background:#f4f9fc;padding:12px 16px;margin-bottom:14px;color:#38566c}.lab-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.lab-tabs button{min-height:52px;padding:9px 12px;justify-content:flex-start;border-color:#0b3855;background:linear-gradient(135deg,#0a2942,#124a78 58%,#1f7eae);color:#fff;font-size:13px;font-weight:900;box-shadow:inset 0 -3px #ffffff29,0 8px 18px #0a294224}.lab-tabs button>span{margin-left:8px}.lab-tabs button:first-letter{font-size:18px}.lab-tabs button.active{background:#fff;color:var(--color-blue-900);border-color:var(--color-blue-500);box-shadow:inset 0 -4px 0 var(--color-blue-500),0 10px 24px #1f7eae29}.progressive-tabs button:disabled{background:#eef3f7;color:#8796a3;border-color:#dbe6ed;box-shadow:none}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px}.workspace-grid.metaplan-layout{grid-template-columns:minmax(780px,1fr) 360px;gap:0;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.canvas-wrap{position:relative;min-height:720px;height:720px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:#fff}.canvas-stage{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:#fff}.guided-canvas{height:760px;min-height:760px;border:0;border-radius:0}.welcome-card{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 40px));background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:28px;box-shadow:0 30px 90px #071a2b2e;text-align:center}.welcome-card div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0}.welcome-card small{color:#607789}.guide-banner{background:#071a2b;color:#fff;border-radius:999px;padding:9px 14px;font-weight:800}.floating-add{position:absolute;left:24px;bottom:24px;z-index:9;border-radius:999px;background:#071a2b;color:#fff;border-color:#071a2b}.overlay-card,.context-card,.journey-card{position:absolute;z-index:10;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 28px 80px #071a2b33;padding:18px}.entity-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 40px));z-index:14}.relation-dialog{position:absolute;z-index:12;right:16px;top:58px;width:min(430px,calc(100% - 32px));max-height:calc(100% - 92px);overflow-y:auto;padding:14px;border-radius:10px}.relation-dialog h2{margin-bottom:10px;font-size:18px;line-height:1.15;letter-spacing:0}.relation-dialog label{gap:4px;font-size:12px}.relation-dialog input{height:38px;padding:8px 10px;font-size:13px}.relation-dialog .example-row,.relation-dialog .direction-row,.relation-dialog .dialog-actions{margin-top:8px}.relation-dialog .example-row button,.relation-dialog .direction-row button,.relation-dialog .dialog-actions button{min-height:32px;padding:6px 10px;font-size:12px}.example-row,.direction-row,.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.example-row button{font-size:12px;padding:7px 9px;background:#eef9fd;color:#064967;border-radius:999px}.direction-row button.active{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.dialog-repeat-toggle{margin-top:12px}.dialog-multi-target{margin-top:8px}.dialog-multi-target>div{grid-template-columns:repeat(2,minmax(0,1fr));max-height:180px}.dialog-actions{justify-content:flex-end}.inventory-scroll-rail{overflow-x:auto;overflow-y:hidden;height:18px;margin:8px 0 4px;border:1px solid #c4d8e6;border-radius:999px;background:linear-gradient(90deg,#e8f6fb,#f7fcff);box-shadow:inset 0 1px 2px #071a2b14}.inventory-scroll-rail>div{height:1px}.inventory-scroll-rail::-webkit-scrollbar{height:14px}.inventory-scroll-rail::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#003b5c,#1f7eae);border-radius:999px;border:3px solid #e8f6fb}.process-column-table-wrap{overflow:auto;max-width:100%;max-height:min(62vh,640px);border:1px solid var(--color-border);border-radius:8px;background:#fff;scrollbar-gutter:stable}.process-column-table{width:max-content;border-collapse:separate;border-spacing:0;table-layout:auto}.process-column-table thead th{position:sticky;top:0;z-index:4;width:240px;min-width:240px;max-width:240px;white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.process-column-table thead th:first-child,.process-column-table tbody th{position:sticky;left:0;z-index:5;width:190px;min-width:190px;max-width:190px;background:#e8f6fb;color:#003b5c}.process-column-table thead th:first-child{z-index:6;top:0;background:#071a2b;color:#fff}.process-column-table tbody th,.process-column-table td{vertical-align:top;padding:8px 10px;line-height:1.25;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal}.process-column-table td{width:240px;min-width:240px;max-width:240px}.toast-message{position:fixed;left:50%;bottom:24px;z-index:30;transform:translate(-50%);max-width:min(560px,calc(100% - 32px));border-radius:999px;background:#071a2b;color:#fff;padding:9px 14px;box-shadow:0 16px 42px #071a2b3d;font-size:12px;font-weight:800}.context-card{right:24px;top:24px;width:300px;display:grid;gap:8px}.process-context p{margin-bottom:4px;color:#526879}.detail-fields{display:grid;gap:8px;margin-top:10px}.journey-card{right:24px;bottom:24px;width:340px;display:grid;gap:8px}.metaplan-layout .canvas-wrap{height:820px;min-height:820px;border:0;border-radius:0}.empty-state{position:absolute;z-index:5;top:24px;left:24px;max-width:330px;background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:20px;box-shadow:0 16px 40px #00000014}.canvas-help{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;color:#526879;font-size:13px}.entity-card{position:relative;width:100%;height:100%;min-width:115px;min-height:58px;background:var(--entity-fill, #fff);border:2px solid #3f3f3f;border-radius:22px;box-shadow:none;color:var(--color-ink);padding:10px 12px;overflow:hidden;-webkit-user-select:none;user-select:none}.entity-card.selected{border-color:#002b3d;box-shadow:0 0 0 5px #002b3d1f}.entity-card-dark{border-color:#9bb9c8;color:#fff;box-shadow:inset 0 1px #ffffff29,0 12px 24px #071a2b29}.entity-card-dark.selected{border-color:#9ee9ff;box-shadow:0 0 0 5px #9ee9ff38,0 18px 36px #071a2b38}.entity-edit-dot{position:absolute;top:8px;right:8px;z-index:8;width:24px;height:24px;min-height:24px;padding:0;border-radius:999px;border:1px solid #b9cfdd;background:#ffffffeb;opacity:0;transition:opacity .14s ease,transform .14s ease,background .14s ease}.entity-edit-dot span{width:7px;height:7px;border-radius:999px;background:var(--color-blue-500)}.entity-card:hover .entity-edit-dot,.entity-card.selected .entity-edit-dot{opacity:1}.entity-edit-dot:hover{transform:scale(1.08);background:#e8f6fb}.entity-main{display:grid;gap:2px;text-align:center}.entity-main strong{font-size:20px;font-weight:600;letter-spacing:0;line-height:1.05}.entity-main span,.entity-counts small{color:#607789;font-size:10px}.entity-card-dark .entity-main span,.entity-card-dark .entity-counts small{color:#ffffffc2}.entity-main em{width:fit-content;justify-self:center;border-radius:999px;background:var(--color-cyan-100);color:#064967;padding:2px 8px;font-style:normal;font-size:10px;font-weight:900}.entity-card-dark .entity-main em{background:#1f7eae;color:#fff;box-shadow:0 0 0 1px #9ee9ff8c}.entity-notes{margin:8px 0 0;padding-left:14px;font-size:11px;font-style:italic;color:#111;line-height:1.22;text-align:left}.entity-card-dark .entity-notes{color:#ffffffe6}.entity-counts{display:flex;justify-content:space-between;border-top:1px solid #edf2f6;margin-top:6px;padding-top:5px}.entity-card-dark .entity-counts{border-top-color:#ffffff2e}.entity-handle{width:14px;height:14px;border:2px solid #fff;background:#f7fbfd;opacity:0;transition:opacity .14s ease,transform .14s ease;box-shadow:0 2px 7px #003b5c2e}.react-flow__node:hover .entity-handle,.react-flow__node.selected .entity-handle{opacity:1}.entity-handle.source{width:22px;height:22px;background:#003b5c;border-color:#fff;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}.entity-handle.source:after{content:attr(data-count);line-height:1}.entity-handle:hover{transform:scale(1.16)}.entity-resize-line{border-color:var(--color-blue-500)!important;border-width:2px!important}.entity-resize-handle{width:13px!important;height:13px!important;border-radius:999px!important;background:var(--color-blue-500)!important;border:2px solid #fff!important;box-shadow:0 0 0 2px #1f7eae2e}.custom-process-edge .edge-interaction{pointer-events:stroke}.edge-label-pill{position:absolute;min-width:26px;height:24px;padding:0 7px;border-radius:999px;border:2px solid #002b3d;background:#f6fbfd;color:var(--color-ink);font-size:12px;font-weight:800;line-height:1;pointer-events:all;box-shadow:0 2px 6px #071a2b1f}.edge-label-pill:hover{background:#e8f6fb}.side-panel{display:grid;gap:14px;align-content:start}.metaplan-legend{background:#e9e9e9;padding:18px;max-height:820px;overflow:auto}.panel-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:18px;box-shadow:0 16px 48px #091f2f0f}.panel-card label+label,.panel-card label+.toolbar,.panel-card button+button{margin-top:12px}.compact button{padding:8px 10px}.danger{color:#8a1c1c;border-color:#e5b8b8}.muted{color:#647184;font-size:13px}.process-list{display:grid;gap:8px;max-height:360px;overflow:auto}.process-row{display:grid;gap:4px;text-align:left;justify-items:start}.process-row small{color:#647184}.process-row.active{border-color:var(--color-blue-500);background:#eef9fd}.legend-panel{background:transparent}.friendly-legend{background:#e9e9e9;padding:22px;max-height:760px;overflow:auto}.legend-panel h3{margin:0 0 12px}.legend-list{display:grid;gap:14px}.legend-item{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;border:0;background:transparent;padding:0;text-align:left;font-weight:400}.legend-item:hover{background:transparent}.legend-item.active strong{color:var(--color-blue-700)}.legend-number{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;border:3px solid #002b3d;background:#f6fbfd;font-weight:900}.legend-item strong{display:block;font-size:18px;margin-bottom:4px}.legend-item small{display:block;white-space:pre-line;color:#111;font-size:14px;line-height:1.3}.inventory-view{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.inventory-cards{display:grid;gap:14px}.inventory-head{display:flex;justify-content:space-between;align-items:center}.process-card{border:1px solid var(--color-border);border-radius:10px;background:#fff;padding:18px;box-shadow:0 16px 44px #091f2f0f}.process-card h3{margin-bottom:8px}.process-card span{color:#526879}.process-card div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.filter-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;padding:14px;background:#fbfdfe;border-bottom:1px solid var(--color-border)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #e7eef3;padding:12px;text-align:left;vertical-align:top}th{background:var(--color-blue-900);color:#fff}tr.active td{background:#e8f6fb}.chain-view{display:grid;gap:16px}.chain-start,.locked-view{min-height:360px;display:grid;place-content:center;text-align:center;gap:12px;background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:30px}.chain-start div{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.kanban{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;align-items:start;overflow-x:auto}.stage{min-height:310px;background:#eef3f7;border:1px solid var(--color-border);border-radius:8px;padding:12px}.stage.over{outline:3px solid rgba(31,126,174,.22)}.stage-title{font-weight:900;background:transparent;border-color:transparent;padding-left:2px}.stage-cards{display:grid;gap:10px;margin-top:10px}.value-card{display:grid;gap:6px;justify-items:start;text-align:left;background:#fff;width:100%}.value-card span{color:#647184;font-size:13px}.value-card.dragging{opacity:.72}.process-map-shell{display:grid;gap:14px}.process-map-export-frame{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.process-map-brand{display:flex;align-items:center;gap:18px;min-height:58px;padding:12px 18px;background:#050a10;color:#fff}.process-map-brand img{width:118px;height:34px;object-fit:contain}.process-map-brand strong{font-size:18px;line-height:1.15}.process-map-brand span{display:block;color:#d8ecf8;font-size:13px;font-weight:900;margin-top:2px}.process-map-brand small{display:block;color:#ffffffb8;font-size:11px;margin-top:2px}.process-map{display:grid;grid-template-columns:210px minmax(0,1fr) 210px;gap:16px;padding:18px;background:#fff}.process-map-toolbar{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:12px}.process-map-toolbar h3{margin:0}.process-map-toolbar p{margin:4px 0 0;color:#8a5a00;font-weight:800}.map-filter{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.map-filter button{padding:7px 9px;font-size:12px}.map-filter button.active{background:#003b5c;color:#fff;border-color:#003b5c}.map-side{align-content:start;display:grid;gap:8px;background:#eef6fb;border-radius:8px;padding:12px;color:#064967}.map-side h3{font-size:16px;margin-bottom:4px;color:#003b5c}.map-side button{display:grid;gap:2px;justify-items:start;text-align:left;background:#fff;border-color:#b8d0dd}.map-side button span{color:#587083;font-size:12px}.map-zones{display:grid;gap:14px;min-width:0}.map-zone{border:1px solid var(--color-border);border-radius:8px;padding:14px}.map-zone h3{margin-bottom:12px;font-size:18px}.map-zone>div{display:flex;flex-wrap:wrap;gap:10px}.map-zone.strategic{background:#f8fbfd;border-left:5px solid #003b5c}.map-zone.core{background:#eef9fd;border-left:5px solid #1f7eae}.map-zone.support{background:#f3f6f8;border-left:5px solid #6b7d8b}.map-stage{display:grid;gap:5px;min-width:min(220px,100%);max-width:300px;justify-items:start;text-align:left;background:#fff}.map-stage span,.map-stage small{color:#5c7182}.empty-zone{margin:0;color:#657789;font-weight:700}.process-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#050a1073;padding:20px}.process-sheet>div{width:min(620px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 28px 80px #00000047}.process-sheet h3{font-size:26px;margin:10px 0 6px}.process-sheet dl{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;margin:16px 0}.process-sheet dt{font-weight:900;color:#003b5c}.process-sheet dd{margin:0;white-space:pre-wrap}.sheet-close{float:right}.export-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;background:#050a1094;padding:24px}.export-preview>div{width:min(1120px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;padding:18px;box-shadow:0 28px 90px #00000052}.export-preview h2{margin-bottom:4px}.export-preview p{color:#526879;margin-bottom:12px}.export-preview img{display:block;width:100%;height:auto;margin-top:14px;border:1px solid #d6e0e8}.results-section{padding:36px 28px 56px;border-top:1px solid var(--color-border)}.export-actions details{position:relative}.export-actions summary{cursor:pointer;font-weight:800;padding:10px 12px;border:1px solid var(--color-border);border-radius:7px;background:#fff}.export-actions details>button{display:flex;margin-top:8px;width:100%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}.file-button{position:relative;overflow:hidden;border:1px solid var(--color-border);background:#fff;border-radius:7px;padding:10px 12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:800}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.code-view{background:var(--color-ink);color:#e6edf5;border-radius:8px;padding:18px;overflow:auto;max-height:360px}@media print{.global-header,.toolbar,.lab-tabs,.formation-nav{display:none!important}main,.hero-treatment,.lab-shell{max-width:none;padding:0}}@media (max-width: 980px){.hero-grid,.formation,.workspace-grid,.process-map{grid-template-columns:1fr}.academic-module{grid-template-columns:minmax(0,1fr) minmax(190px,270px)}.workbar,.canvas-stage,.free-workspace{grid-template-columns:1fr}.right-legend{max-height:none;border-left:0;border-top:1px solid var(--color-border)}.objective-card{max-width:620px}.kanban{grid-template-columns:repeat(2,minmax(230px,1fr))}}@media (max-width: 680px){.global-header{height:62px;padding:0 16px}.brand-link{width:132px}.brand-link img{width:126px;height:38px}.primary-nav{gap:18px}.primary-nav button{font-size:13px}.nav-drawer{position:absolute;top:44px;left:auto;right:0;width:auto;margin:0;min-width:min(276px,calc(100vw - 24px));padding:11px}.hero-grid,.formation,.lab-shell,.results-section{padding-left:16px;padding-right:16px}.academic-module{grid-template-columns:1fr}.objective-card div,.filter-row,.lab-topbar>div:first-child,.lab-tabs,.kanban{grid-template-columns:1fr}.canvas-wrap{height:560px;min-height:560px}}@media (max-width: 480px){.primary-nav{display:none}}
