.oek-root{background:var(--oek-bg);--oek-actor:var(--phase-1);--oek-value:#8e24aa;--oek-opportunity:#43a047;--oek-risk:#fb8c00;--oek-risk-bg:#fff7ed;--oek-datasource:#6b7280;--oek-datasource-selected:#374151;--oek-note:#e6d03f;--oek-note-bg:#fff9b1;--oek-note-text:#44403c;--oek-note-placeholder:#cdbe5e;--oek-edge-data:#374151;--oek-edge-data-selected:#111827;--oek-edge-value:#9ca3af;--oek-edge-value-selected:#4b5563;--oek-grid:#c9cdd4;--oek-bg:#f9fafb;--oek-surface:#fff;--oek-line:#f3f4f6;--oek-border:#e5e7eb;--oek-border-strong:#d1d5db;--oek-muted:#9ca3af;--oek-text-soft:#6b7280;--oek-text:#374151;--oek-text-strong:#111827;--oek-danger:#dc2626;--oek-ring:0 0 0 3px;flex-direction:column;height:calc(100vh - 64px);font-family:inherit;display:flex}.oek-eyebrow{letter-spacing:.1em;color:var(--oek-muted);text-transform:uppercase;font-size:9px;font-weight:700}.oek-list-btn{border:1.5px solid var(--oek-border);background:var(--oek-surface);color:var(--oek-text);border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:12px;font-weight:500;transition:border-color .12s,background .12s;display:flex}.oek-list-btn:hover{background:var(--oek-line)}.oek-topbar{background:var(--oek-surface);border-bottom:1px solid var(--oek-border);flex-shrink:0;align-items:center;gap:16px;padding:10px 16px;display:flex}.oek-phase-chip{letter-spacing:.08em;color:var(--phase-1);text-transform:uppercase;font-size:10px;font-weight:700}.oek-bar-actions{flex-shrink:0;align-self:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.oek-field{flex-direction:column;flex:1;gap:2px;max-width:260px;display:flex}.oek-field input{border:none;border-bottom:1px solid var(--oek-border-strong);color:var(--oek-text-strong);background:0 0;outline:none;padding:2px 0;font-size:13px}.oek-field input:focus{border-bottom-color:var(--phase-1)}.oek-icon-btn{border:1px solid var(--oek-border-strong);background:var(--oek-surface);color:var(--oek-text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.oek-icon-btn:hover{border-color:var(--phase-1);color:var(--phase-1)}.oek-icon-btn--danger:hover{border-color:var(--oek-danger);color:var(--oek-danger)}.oek-icon-btn svg{width:15px;height:15px}.oek-export-btn{border:1.5px solid var(--phase-1);background:var(--phase-1);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;margin-left:8px;padding:7px 14px;font-size:12px;font-weight:600;transition:opacity .15s;display:inline-flex}.oek-export-btn:hover{opacity:.88}.oek-export-btn svg{width:15px;height:15px}.oek-help-btn{border:1.5px solid var(--oek-border-strong);background:var(--oek-surface);width:32px;height:32px;color:var(--oek-text-soft);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:border-color .15s,color .15s;display:flex}.oek-help-btn:hover{border-color:var(--phase-1);color:var(--phase-1)}.oek-help-btn--float{z-index:10;position:absolute;top:12px;right:14px;box-shadow:0 2px 8px #00000026}.oek-palette{background:var(--oek-surface);border-right:1px solid var(--oek-border);flex-direction:column;flex-shrink:0;gap:4px;width:148px;padding:12px 10px;display:flex;overflow-y:auto}.oek-palette-item--actor:hover{border-color:var(--oek-actor)}.oek-palette-item--value:hover{border-color:var(--oek-value)}.oek-palette-item--opportunity:hover{border-color:var(--oek-opportunity)}.oek-palette-item--risk:hover{border-color:var(--oek-risk)}.oek-palette-item--datasource:hover{border-color:var(--oek-datasource)}.oek-palette-item--note:hover{border-color:var(--oek-note)}.oek-palette-icon{font-size:16px;line-height:1}.oek-palette-item--value .oek-palette-icon{-webkit-text-stroke:.6px currentColor}.oek-edge-btn--active{border-color:var(--phase-1);background:var(--phase-1)}@supports (color:color-mix(in lab, red, red)){.oek-edge-btn--active{background:color-mix(in srgb, var(--phase-1) 8%, white)}}.oek-edge-preview{vertical-align:middle;width:28px;height:2px;display:inline-block;position:relative}.oek-edge-preview--solid{background:var(--oek-edge-data)}.oek-edge-preview--dashed{background:repeating-linear-gradient(90deg, var(--oek-edge-value) 0 6px, transparent 6px 10px)}.oek-instructions{background:var(--oek-surface);border-left:1px solid var(--oek-border);flex-direction:column;flex-shrink:0;gap:8px;width:240px;padding:12px 14px;display:flex;overflow-y:auto}.oek-legend-item{color:var(--oek-text);align-items:center;gap:5px;font-size:11px;display:flex}.oek-legend-icon{font-size:14px}.oek-legend-icon--actor{color:var(--oek-text)}.oek-legend-icon--value{color:var(--oek-value)}.oek-legend-icon--opportunity{color:var(--oek-opportunity)}.oek-legend-icon--risk{color:var(--oek-risk)}.oek-legend-icon--datasource{color:var(--oek-datasource)}.oek-actor-node{border:2px solid var(--oek-text)}.oek-actor-node.selected{border-color:var(--phase-1);box-shadow:var(--oek-ring) var(--phase-1)}@supports (color:color-mix(in lab, red, red)){.oek-actor-node.selected{box-shadow:var(--oek-ring) color-mix(in srgb, var(--phase-1) 20%, transparent)}}.oek-node-label{text-align:center;color:var(--oek-text-strong);padding:0 4px;font-size:11px;line-height:1.3}.oek-node-edit{text-align:center;resize:none;width:80px;color:var(--oek-text-strong);background:0 0;border:none;outline:none;font-family:inherit;font-size:11px}.oek-shape-value{fill:#fff;stroke:var(--oek-value);stroke-width:2px}.oek-shape-value.selected{stroke-width:2.5px;filter:drop-shadow(0 0 3px var(--oek-value))}@supports (color:color-mix(in lab, red, red)){.oek-shape-value.selected{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--oek-value) 27%, transparent))}}.oek-shape-risk{fill:var(--oek-risk-bg);stroke:var(--oek-risk);stroke-width:2px}.oek-shape-risk.selected{stroke-width:2.5px;filter:drop-shadow(0 0 3px var(--oek-risk))}@supports (color:color-mix(in lab, red, red)){.oek-shape-risk.selected{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--oek-risk) 40%, transparent))}}.oek-risk-symbol{color:var(--oek-risk)}.oek-opportunity-node{border:2px solid var(--oek-opportunity);background:var(--oek-opportunity)}@supports (color:color-mix(in lab, red, red)){.oek-opportunity-node{background:color-mix(in srgb, var(--oek-opportunity) 8%, white)}}.oek-opportunity-node.selected{box-shadow:var(--oek-ring) var(--oek-opportunity)}@supports (color:color-mix(in lab, red, red)){.oek-opportunity-node.selected{box-shadow:var(--oek-ring) color-mix(in srgb, var(--oek-opportunity) 20%, transparent)}}.oek-opportunity-symbol{color:var(--oek-opportunity)}.oek-datasource-node{border:2px solid var(--oek-datasource);color:var(--oek-datasource)}.oek-datasource-node.selected{border-color:var(--oek-datasource-selected);box-shadow:var(--oek-ring) var(--oek-datasource)}@supports (color:color-mix(in lab, red, red)){.oek-datasource-node.selected{box-shadow:var(--oek-ring) color-mix(in srgb, var(--oek-datasource) 20%, transparent)}}.oek-note-node{background:var(--oek-note-bg);box-shadow:0 1px 3px #0000002e}.oek-note-node.selected{box-shadow:var(--oek-ring) var(--oek-edge-data)}@supports (color:color-mix(in lab, red, red)){.oek-note-node.selected{box-shadow:var(--oek-ring) color-mix(in srgb, var(--oek-edge-data) 25%, transparent)}}.oek-note-text{color:var(--oek-note-text);font-family:inherit;line-height:1.35}.oek-note-placeholder{color:var(--oek-note-placeholder);line-height:1.35}.oek-edge-input{border:1px solid var(--oek-muted);background:var(--oek-surface);border-radius:4px;outline:none;min-width:50px;padding:2px 6px;font-family:inherit;font-size:11px}.oek-edge-label{background:var(--oek-surface);border:1px solid var(--oek-border);color:var(--oek-text);pointer-events:all;cursor:default;white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px}.oek-edge-label--data{border-color:var(--oek-edge-data)}.oek-edge-label--value{border-color:var(--oek-edge-value)}.oek-edge-add{background:var(--oek-surface);border:1px dashed var(--phase-1);color:var(--phase-1);pointer-events:all;cursor:pointer;white-space:nowrap;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:10px}.oek-edge-add--data{color:var(--oek-edge-data);border-color:var(--oek-edge-data)}.oek-edge-add--value{color:var(--oek-edge-value);border-color:var(--oek-edge-value)}.oek-root .oek-risk-handle.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.oek-root .oek-risk-handle.react-flow__handle-right{top:50%;left:75%;transform:translate(-50%,-50%)}.oek-root .oek-risk-handle.react-flow__handle-bottom{top:100%;left:50%;transform:translate(-50%,-50%)}.oek-root .oek-risk-handle.react-flow__handle-left{top:50%;left:25%;transform:translate(-50%,-50%)}.oek-root .react-flow__handle{opacity:0;border-width:2px;width:14px;height:14px;transition:opacity .15s}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle{opacity:1}.oek-root .oek-edge-path-data{stroke:var(--oek-edge-data);stroke-width:1.25px}.oek-root .oek-edge-marker-data{fill:var(--oek-edge-data)}.oek-root .oek-edge-marker-data-selected{fill:var(--oek-edge-data-selected)}.oek-root .oek-edge-path-value{stroke:var(--oek-edge-value);stroke-width:1.25px;stroke-dasharray:6 3}.oek-root .oek-edge-marker-value{fill:var(--oek-edge-value)}.oek-root .oek-edge-marker-value-selected{fill:var(--oek-edge-value-selected)}.oek-root .react-flow__edge.selected .oek-edge-path-data{stroke:var(--oek-edge-data-selected);stroke-width:1.75px}.oek-root .react-flow__edge.selected .oek-edge-path-value{stroke:var(--oek-edge-value-selected);stroke-width:1.75px}@media print{@page{size:A4 landscape;margin:0}body *{visibility:hidden}.oek-printing,.oek-printing *{visibility:visible}.oek-printing .react-flow__background{display:none}}.oek-printing{z-index:9999;background:#fff;width:297mm;height:210mm;position:fixed;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.oek-signature{display:none}.oek-printing .oek-signature{border-bottom:1px solid var(--oek-border);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.oek-signature-logo{width:auto;height:40px}.oek-signature-text{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;color:#1a1f5e;font-size:16px;font-weight:600}.oek-printing .oek-palette,.oek-printing .oek-instructions,.oek-printing .oek-help-btn,.oek-printing .oek-bar-actions,.oek-printing .react-flow__controls,.oek-printing .react-flow__minimap,.oek-printing .react-flow__attribution,.oek-printing .react-flow__panel{display:none!important}.oek-printing .oek-field input{border-bottom-color:#0000}.oek-printing .oek-topbar{padding:8px 16px}
