*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;color:#1c1a26;background:#fff}button{font:inherit;cursor:pointer}.app{max-width:1400px;margin:0 auto;padding:1rem}.app-toolbar{border:1px solid #d9d6e4;border-radius:8px;padding:.9rem 1rem;margin-bottom:1rem}.app-toolbar__row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;justify-content:space-between}.app-name{display:flex;flex-direction:column;gap:2px}.app-name span{font-size:11px;font-weight:600;color:#6c6784}.app-name input{font:inherit;padding:.35rem .5rem;border:1px solid #c8c4d8;border-radius:6px;min-width:240px}.app-tabs{display:flex;border:1px solid #c8c4d8;border-radius:6px;overflow:hidden}.app-tabs button{border:none;background:#fff;padding:.4rem 1rem;font-weight:600;color:#6c6784}.app-tabs button.active{background:#2f2a45;color:#fff}.app-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.app-actions button{border:1px solid #c8c4d8;background:#fff;border-radius:6px;padding:.35rem .75rem}.app-actions button:hover:not(:disabled){background:#f1eff7}.app-actions button:disabled{opacity:.4;cursor:default}.app-actions button.danger{color:#a4243b;border-color:#a4243b}.app-actions button.danger:hover:not(:disabled){background:#a4243b;color:#fff}.app-chip{font-size:12px;border:1px solid #d9d6e4;border-radius:999px;padding:.15rem .6rem;color:#6c6784}.app-blurb{font-size:12.5px;color:#6c6784;margin:.75rem 0 0}.app-blurb code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}.wf-legend{display:flex;gap:1.25rem;flex-wrap:wrap;margin:0 .25rem .6rem}.wf-legend__item{font-size:12px;color:#6c6784;padding-left:20px;position:relative}.wf-legend__item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:3px;border:2px solid}.wf-legend__item--statement:before{border-color:#3a5bd9}.wf-legend__item--decision:before{border-color:#d98a1f}.wf-legend__item--end:before{border-color:#8a8798}.wf-canvas-scroll{overflow:auto;border:1px solid #d9d6e4;border-radius:8px;background-color:#faf9fc;background-image:radial-gradient(#dcd9e6 1px,transparent 1px);background-size:20px 20px;min-height:90vh}.wf-canvas{position:relative;margin:0 auto;min-height:380px}.wf-edges{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wf-slot{position:absolute;display:flex;align-items:center;justify-content:center}.wf-edge-label{position:absolute;transform:translate(-50%,-50%);font-size:11px;font-weight:700;background:#fff;border:1px solid #d9d6e4;border-radius:4px;padding:0 6px;line-height:1.6}.wf-edge-label.yes{color:#1d7a46}.wf-edge-label.no{color:#a4243b}.wf-card{position:relative;width:180px;height:68px;padding:0 4px 0 12px;display:flex;align-items:center;gap:6px;background:#fff;border:2px solid;border-radius:8px;box-shadow:0 1px 3px #1c1a2624}.wf-card--statement{border-color:#3a5bd9}.wf-card--statement .wf-card__icon,.wf-card--statement .wf-card__type{color:#3a5bd9}.wf-card--decision{border-color:#d98a1f;background:#fdf6ea}.wf-card--decision .wf-card__icon,.wf-card--decision .wf-card__type{color:#d98a1f}.wf-card--end{border-color:#8a8798;background:#f1f0f4;border-radius:34px}.wf-card--end .wf-card__icon,.wf-card--end .wf-card__type{color:#6c6784}.wf-card__icon{flex-shrink:0;display:inline-flex}.wf-card__label{flex:1;font-size:13.5px;font-weight:600;line-height:1.25;cursor:text;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.wf-card__input{flex:1;font:inherit;font-size:13.5px;font-weight:600;line-height:1.25;border:none;outline:none;resize:none;padding:0;background:transparent}.wf-card__notes-btn{flex-shrink:0;position:relative;border:none;background:none;padding:4px;color:#b6b1c9;display:inline-flex;border-radius:50%}.wf-card__notes-btn:hover{background:#f1eff7}.wf-card__notes-btn.has-notes{color:inherit}.wf-card--statement .wf-card__notes-btn.has-notes{color:#3a5bd9}.wf-card--decision .wf-card__notes-btn.has-notes{color:#d98a1f}.wf-card__notes-dot{position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background:#3a5bd9}.wf-card__delete{position:absolute;top:-12px;right:-12px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9d6e4;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1c1a262e;opacity:0;transition:opacity .15s;color:#6c6784}.wf-card:hover .wf-card__delete{opacity:1}.wf-card__delete:hover{background:#fbe9ec;color:#a4243b}.wf-card__type{position:absolute;bottom:1px;left:8px;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;opacity:.55}.wf-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.wf-popover{position:absolute;top:72px;left:50%;transform:translate(-50%);z-index:50;width:300px;background:#fff;border:1px solid #c8c4d8;border-radius:8px;box-shadow:0 6px 20px #1c1a2638;padding:.75rem}.wf-popover__title{font-size:11.5px;font-weight:600;color:#6c6784;margin-bottom:.4rem}.wf-popover textarea{width:100%;font:inherit;font-size:13px;border:1px solid #c8c4d8;border-radius:6px;padding:.4rem .5rem;resize:vertical}.wf-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:50;background:#fff;border:1px solid #c8c4d8;border-radius:8px;box-shadow:0 6px 20px #1c1a2638;padding:4px;min-width:210px}.wf-menu__item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;text-align:left;padding:.45rem .6rem;border-radius:6px;color:#1c1a26}.wf-menu__item:hover{background:#f1eff7}.wf-menu__item span{display:flex;flex-direction:column;line-height:1.25}.wf-menu__item small{color:#6c6784}.wf-add{position:relative;display:flex;justify-content:center}.wf-add__btn{display:flex;align-items:center;justify-content:center;gap:6px;width:40px;height:40px;border:2px dashed #c8c4d8;border-radius:50%;background:none;color:#6c6784;transition:all .15s}.wf-add__btn--root{width:180px;height:68px;border-radius:8px;font-weight:600;font-size:13px}.wf-add__btn:hover{border-color:#3a5bd9;color:#3a5bd9;background:#f1eff7}.doc-toolbar{border:1px solid #d9d6e4;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;font-size:13px;color:#6c6784}.doc-toolbar p{margin:0 0 .6rem}.doc-toolbar__actions{display:flex;gap:.5rem;flex-wrap:wrap}.doc-toolbar__actions button{border:1px solid #c8c4d8;background:#fff;border-radius:6px;padding:.35rem .75rem;color:#1c1a26}.doc-toolbar__actions button:hover{background:#f1eff7}.doc{max-width:46rem;margin:0 auto;color:#000;font-size:16px;line-height:1.55}.doc h1{font-size:1.4rem;margin:0 0 .25rem}.doc h2{font-size:1.15rem;margin:2.5rem 0 .5rem;border-bottom:1px solid #000;padding-bottom:.25rem}.doc-intro{font-size:.85rem;margin-bottom:1.5rem}.doc ol{margin:.5rem 0 .5rem 1.4rem;padding:0}.doc li{margin:.35rem 0}.doc ol ol{margin-top:.35rem}.doc-note{font-size:.85rem;color:#333}.doc-err,.doc-branch-q,.doc-branch-label,.doc-outcome{font-weight:600}.doc-scope{font-size:.9rem;margin:.75rem 0 0;font-weight:600}.doc-decision{border:2px solid #000;padding:.4rem .6rem;margin:.5rem 0;font-size:.9rem}.doc-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.9rem}.doc-table th,.doc-table td{border:1px solid #000;padding:.35rem .5rem;text-align:left;vertical-align:top}.doc-table th{font-weight:600}.doc-table td:empty:after{content:" "}@media print{.no-print{display:none!important}.app{padding:0;max-width:none}.doc{max-width:46rem}}.wf-card__activity{position:absolute;bottom:1px;right:8px;font-size:9px;font-family:ui-monospace,Menlo,Consolas,monospace;color:#1d7a46;opacity:.8;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-popover__activity{display:block;margin-top:.6rem}.wf-popover__activity span{display:block;font-size:11.5px;font-weight:600;color:#6c6784;margin-bottom:.25rem}.wf-popover__activity select{width:100%;font:inherit;font-size:13px;padding:.3rem .4rem;border:1px solid #c8c4d8;border-radius:6px;background:#fff}.doc-promise{font-size:.85rem;font-style:italic;margin:.25rem 0}.dash-view{display:flex;flex-direction:column;gap:1rem}.dash-panel{border:1px solid #d9d6e4;border-radius:8px;padding:1rem 1.25rem}.dash-panel h2{font-size:1.05rem;margin:0 0 .5rem}.dash-muted{color:#6c6784;font-size:13.5px;margin:0}.dash-muted code,.dash-panel code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.dash-toolbar-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.dash-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dash-actions button{border:1px solid #c8c4d8;background:#fff;border-radius:6px;padding:.35rem .75rem}.dash-actions button:hover{background:#f1eff7}.gf-dashboard{background:#181b1f;border-radius:8px;overflow:hidden}.gf-dashboard__toolbar{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;background:#111217;border-bottom:1px solid #2c3235;font-size:13px;color:#c7d0d9}.gf-dashboard__icon{font-weight:900;font-size:15px;color:#ff5722}.gf-dashboard__title{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gf-dashboard__meta{display:flex;gap:.4rem}.gf-dashboard__pill{font-size:11px;background:#2c3235;border-radius:4px;padding:2px 8px;color:#8e8e8e}.gf-dashboard__grid{padding:8px}.gf-row{display:flex;gap:8px;margin-bottom:8px}.gf-cell{min-width:0}.gf-panel{background:#1f2125;border:1px solid #2c3235;border-radius:4px;height:100%;display:flex;flex-direction:column;overflow:hidden}.gf-panel__header{font-size:11.5px;font-weight:600;color:#8e8e8e;padding:6px 10px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gf-panel__body{flex:1;display:flex;align-items:center;justify-content:center;padding:6px 10px 10px}.gf-panel__tooltip{display:none}.gf-panel--stat{min-height:90px}.gf-stat__value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.gf-panel--text{border:none;background:transparent}.gf-text__content{padding:4px 10px;color:#c7d0d9;font-size:13px;line-height:1.4}.gf-text__content h3.gf-md-h2{font-size:1rem;margin:0;color:#e9e9e9}.gf-text__content h4.gf-md-h3{font-size:.85rem;margin:0;color:#c7d0d9;font-weight:600}.gf-text__content code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;background:#2c3235;padding:1px 4px;border-radius:3px;color:#ff9830}.gf-panel--ts{min-height:130px}.gf-ts__body{flex-direction:column;align-items:stretch;gap:0}.gf-ts__chart{width:100%;height:60px;flex-shrink:0}.gf-ts__legend{display:flex;flex-wrap:wrap;gap:4px 12px;padding:4px 0 0;font-size:11px;color:#8e8e8e}.gf-ts__legend-item{display:inline-flex;align-items:center;gap:4px}.gf-ts__legend-color{width:10px;height:3px;border-radius:1px;flex-shrink:0}.wf-menu--catalogue{min-width:280px;display:flex;flex-direction:column;overflow:hidden}.wf-menu__search{padding:6px 6px 4px}.wf-menu__search input{width:100%;font:inherit;font-size:13px;padding:.4rem .5rem;border:1px solid #c8c4d8;border-radius:6px;outline:none}.wf-menu__search input:focus{border-color:#3a5bd9;box-shadow:0 0 0 2px #3a5bd926}.wf-menu__list{max-height:280px;overflow-y:auto;padding-bottom:4px}.wf-menu__heading{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#3a5bd9;padding:.5rem .6rem .2rem;border-top:1px solid #eae8f0;margin-top:2px}.wf-menu__heading:first-child{border-top:none;margin-top:0}.wf-menu__heading--decision{color:#d98a1f}.wf-menu__heading--end{color:#8a8798}.wf-menu__item--active{background:#f1eff7}.wf-menu__empty{padding:1rem;text-align:center;color:#6c6784;font-size:13px}.cat-view{display:flex;flex-direction:column;gap:1rem}.cat-panel{border:1px solid #d9d6e4;border-radius:8px;padding:1rem 1.25rem}.cat-panel h2{font-size:1.05rem;margin:0 0 .5rem}.cat-muted{color:#6c6784;font-size:13.5px;margin:0 0 .75rem}.cat-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.cat-btn{border:1px solid #c8c4d8;background:#fff;border-radius:6px;padding:.35rem .75rem;font-size:13px;display:inline-flex;align-items:center;gap:4px}.cat-btn:hover:not(:disabled){background:#f1eff7}.cat-btn:disabled{opacity:.4;cursor:default}.cat-btn--primary{background:#2f2a45;color:#fff;border-color:#2f2a45}.cat-btn--primary:hover:not(:disabled){background:#3d3660}.cat-btn--danger{color:#a4243b;border-color:#d9d6e4;padding:.35rem .5rem}.cat-btn--danger:hover{background:#fbe9ec;color:#a4243b}.cat-btn--danger-text{color:#a4243b;border-color:#a4243b}.cat-btn--danger-text:hover{background:#a4243b;color:#fff}.cat-btn--save{background:#1d7a46;color:#fff;border-color:#1d7a46}.cat-btn--save:hover{background:#24955a}.cat-add-form{border:1px solid #c8c4d8;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;background:#faf9fc}.cat-add-form h3{font-size:.9rem;margin:0 0 .6rem}.cat-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.cat-form-wide{grid-column:1 / -1}.cat-form-grid label{display:flex;flex-direction:column;gap:2px}.cat-form-grid label span{font-size:11px;font-weight:600;color:#6c6784}.cat-form-grid input,.cat-form-grid select{font:inherit;font-size:13px;padding:.35rem .5rem;border:1px solid #c8c4d8;border-radius:6px}.cat-form-actions{display:flex;gap:.5rem;margin-top:.6rem}.cat-table{border-collapse:collapse;width:100%;font-size:13px}.cat-table th,.cat-table td{border:1px solid #d9d6e4;padding:.4rem .5rem;text-align:left;vertical-align:middle}.cat-table th{font-weight:600;background:#faf9fc}.cat-table code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.cat-desc{color:#6c6784;max-width:200px}.cat-actions-cell{white-space:nowrap}.cat-actions-cell .cat-btn{margin-right:4px}.cat-empty{text-align:center;color:#6c6784;padding:1.5rem}.cat-editing-group>tr:first-child{background:#f6f5fa}.cat-edit-expand{background:#faf9fc;padding:.75rem 1rem!important}.ent-group-heading{font-size:.95rem;margin:0 0 .5rem;padding-left:10px;border-left:4px solid #888;display:flex;align-items:center;gap:8px}.ent-group-count{font-size:11px;font-weight:400;color:#6c6784;background:#f1eff7;border-radius:10px;padding:1px 8px}.ent-group-badge{font-size:11px;font-weight:600;border:1.5px solid;border-radius:10px;padding:1px 8px;white-space:nowrap}.ent-binding-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ent-binding-row select{font:inherit;font-size:12px;padding:.25rem .4rem;border:1px solid #c8c4d8;border-radius:6px}.onto-container{position:relative;width:100%;height:calc(100vh - 160px);min-height:500px;background:#0f1117;border-radius:8px;overflow:hidden}.onto-svg{width:100%;height:100%;display:block}.onto-controls{position:absolute;top:16px;left:16px;z-index:10;display:flex;flex-direction:column;gap:8px}.onto-title{font-size:16px;font-weight:600;color:#fff;margin:0 0 4px}.onto-blurb{font-size:11px;color:#8b949e;max-width:260px;line-height:1.4;margin:0}.onto-filters{display:flex;flex-wrap:wrap;gap:6px}.onto-filter-btn{padding:4px 10px;font-size:11px;border:1px solid #30363d;border-radius:14px;background:#161b22d9;color:#8b949e;cursor:pointer;transition:all .15s}.onto-filter-btn:hover{border-color:#58a6ff;color:#58a6ff}.onto-filter-btn.active{background:#58a6ff21;border-color:#58a6ff;color:#58a6ff}.onto-legend{position:absolute;bottom:16px;left:16px;z-index:10;display:flex;flex-wrap:wrap;gap:12px;background:#161b22e6;padding:10px 14px;border-radius:8px;border:1px solid #30363d}.onto-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#c9d1d9}.onto-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.onto-metrics{position:absolute;top:16px;right:16px;z-index:10;background:#161b22eb;border:1px solid #30363d;border-radius:8px;padding:12px 14px;max-width:240px;max-height:50vh;overflow-y:auto}.onto-metrics h3{font-size:12px;color:#58a6ff;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.onto-metric-item{font-size:11px;color:#c9d1d9;padding:3px 0;border-bottom:1px solid #21262d}.onto-metric-item:last-child{border-bottom:none}.onto-metric-syn{color:#8b949e;font-style:italic}.onto-tooltip{position:fixed;padding:8px 12px;background:#1c2128;border:1px solid #30363d;border-radius:6px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .15s;max-width:320px;line-height:1.5;z-index:20}.onto-tt-name{font-weight:600;color:#fff}.onto-tt-desc{color:#8b949e;margin-top:2px}.onto-tt-fields{color:#7ee787;margin-top:4px;font-size:11px}
