.on-root{--sc-tenant:#d4a24e;--sc-network:#7ea4d8;--sc-factory:#7fcaa0}.on-body{max-width:1760px;width:100%;margin:0 auto}.on-counts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;font:600 11px var(--mono);color:#7ea4d8;letter-spacing:.12em}.on-section{padding-top:18px}.on-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.on-ctl-label{font:600 11px var(--mono);color:#6d80a0;letter-spacing:.12em;margin-right:4px}.on-chip+.on-ctl-label,.on-ctl-label+.on-ctl-label{margin-left:18px}.on-chip{border:1px solid #2b3d5c;background:transparent;color:#8fa5c4;cursor:pointer;font:600 11px var(--mono);letter-spacing:.1em;padding:5px 10px}.on-chip.on{color:#f2f6fc;border-color:#4a6390;background:rgba(126,164,216,.08)}.on-chip.scope-tenant.on{border-color:var(--sc-tenant)}.on-chip.scope-network.on{border-color:var(--sc-network)}.on-chip.scope-factory.on{border-color:var(--sc-factory)}.on-chip.dashed.on{border-style:dashed}.on-stage{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:22px;gap:22px;align-items:start}@media (max-width:1100px){.on-stage{grid-template-columns:1fr}}.on-canvas-wrap{min-width:0}.on-canvas{position:relative;overflow:visible;margin:0}.on-group{position:absolute;border:1px solid #22314c;background:rgba(13,21,36,.55)}.on-group-head{padding:9px 12px 0;font:600 10px var(--mono);color:#6d80a0;letter-spacing:.14em}.on-edges{position:absolute;inset:0;pointer-events:none;overflow:visible}.on-edge{fill:none;stroke:#3a5078;stroke-width:1;opacity:.75;transition:opacity .12s,stroke .12s}.on-edge.structural{stroke-dasharray:3 4}.on-edge.lit{stroke:#e8c27a;stroke-width:1.6;opacity:1}.on-edge.dim{opacity:.12}.on-node{position:absolute;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:#0f1828;color:#dbe5f5;font:500 12px var(--mono);text-align:left;cursor:pointer;border:1px solid #2b3d5c;border-left-width:3px;transition:opacity .12s,border-color .12s,background .12s}.on-node.scope-tenant{border-left-color:var(--sc-tenant)}.on-node.scope-network{border-left-color:var(--sc-network)}.on-node.scope-factory{border-left-color:var(--sc-factory)}.on-node:hover{border-color:#4a6390;background:#14203a}.on-node.selected{border-color:#e8c27a;background:#1a2338;color:#f2f6fc}.on-node.dim{opacity:.28}.on-node.hidden{display:none}.on-node-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.on-node-flag{color:#6d80a0;font-size:16px;line-height:1}.on-panel{position:-webkit-sticky;position:sticky;top:16px;border:1px solid #2b3d5c;background:rgba(13,21,36,.92);padding:16px 18px 20px;min-height:120px;font:13px/1.6 var(--sans);color:#c4d1e6}.on-panel-kicker{font:600 10px var(--mono);color:#7ea4d8;letter-spacing:.12em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.on-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8fa5c4}.on-dot.scope-tenant{background:var(--sc-tenant)}.on-dot.scope-network{background:var(--sc-network)}.on-dot.scope-factory{background:var(--sc-factory)}.on-panel-title{margin:8px 0 4px;font:26px/1.2 var(--serif);font-weight:400;color:#f2f6fc}.on-panel-doc{margin:0 0 6px;color:#aebdd4}.on-panel-h{margin:16px 0 6px;font:600 10px var(--mono);color:#6d80a0;letter-spacing:.14em}.on-list{margin:0;padding:0;list-style:none}.on-list li{padding:3px 0;border-bottom:1px solid #1c2940;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.on-muted{color:#6d80a0;margin:0}.on-props+.on-props{margin-top:8px}.on-kind{font:600 10px var(--mono);color:#8fa5c4;letter-spacing:.12em;padding:2px 0}.on-prop{display:grid;grid-template-columns:1fr auto;grid-gap:2px 10px;gap:2px 10px;padding:3px 0;border-bottom:1px solid #1c2940}.on-prop-name{font:500 12px var(--mono);color:#dbe5f5}.on-prop-type{font:11px var(--mono);color:#6d80a0}.on-prop-doc{grid-column:1/-1;font-size:12px;color:#8fa5c4}.on-link{border:none;background:transparent;padding:0;cursor:pointer;font:500 12px var(--mono);color:#7ea4d8;text-align:left}.on-link:hover{color:#e8c27a}.on-tag{font:600 9px var(--mono);color:#6d80a0;letter-spacing:.12em;border:1px dashed #2b3d5c;padding:1px 5px}.on-action{font:500 12px var(--mono);color:#e8c27a}.ox-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px;font:600 11px var(--mono);color:#7ea4d8;letter-spacing:.12em}.ox-nav a{color:#7ea4d8;text-decoration:none}.ox-nav a:hover{color:#e8c27a}.ox-muted{color:#6d80a0}.ox-error{font:13px/1.6 var(--sans);color:#e8a0a0;border:1px dashed #5a3a3a;padding:10px 12px}.ox-error code{font:12px var(--mono);color:#f2f6fc}.ox-marking{color:#d4a24e}.ox-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:22px;gap:22px}.ox-group{border:1px solid #22314c;background:rgba(13,21,36,.55);padding-bottom:8px}.ox-typerow{display:flex;justify-content:space-between;align-items:center;margin:6px 10px 0;padding:6px 10px;border:1px solid #2b3d5c;border-left-width:3px;background:#0f1828;color:#dbe5f5;text-decoration:none;font:500 12px var(--mono)}.ox-typerow:hover{border-color:#4a6390;background:#14203a}.ox-typerow.scope-tenant{border-left-color:var(--sc-tenant)}.ox-typerow.scope-network{border-left-color:var(--sc-network)}.ox-typerow.scope-factory{border-left-color:var(--sc-factory)}.ox-typerow.empty{opacity:.55}.ox-count{color:#7ea4d8;font-weight:600}.ox-typerow.empty .ox-count{color:#6d80a0}.ox-search{margin-top:16px;width:min(420px,100%);padding:8px 10px;border:1px solid #2b3d5c;background:#0f1828;color:#f2f6fc;font:13px var(--mono);outline:none}.ox-search:focus{border-color:#4a6390}.ox-tablewrap{overflow-x:auto;border:1px solid #22314c}.ox-table{width:100%;border-collapse:collapse;font:12px var(--mono);color:#c4d1e6}.ox-table th{text-align:left;padding:8px 10px;font:600 10px var(--mono);color:#6d80a0;letter-spacing:.12em;border-bottom:1px solid #2b3d5c;white-space:nowrap}.ox-table td{padding:7px 10px;border-bottom:1px solid #1c2940;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ox-table tr:hover td{background:rgba(126,164,216,.05)}.ox-instance{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-gap:26px;gap:26px;align-items:start}@media (max-width:1100px){.ox-instance{grid-template-columns:1fr}}.ox-value{font:12px var(--mono);color:#dbe5f5;text-align:right;max-width:360px;overflow-wrap:anywhere}.ox-value pre{margin:0;font:11px/1.4 var(--mono);color:#aebdd4;text-align:left;max-height:160px;overflow:auto}.on-prop.pending .on-prop-name{color:#e8c27a}.ox-dir{color:#6d80a0;font:12px var(--mono)}.ox-status{font:600 9px var(--mono);letter-spacing:.12em;padding:1px 5px;border:1px solid #2b3d5c;color:#8fa5c4}.ox-status.pending{color:#e8c27a;border-color:#4a3a1d}.ox-status.reconciled{color:#7fcaa0;border-color:#2a4a3a}.ox-status.conflict{color:#e8a0a0;border-color:#5a3a3a}.ox-form{display:grid;grid-gap:8px;gap:8px}.ox-form input,.ox-form select{padding:7px 9px;border:1px solid #2b3d5c;background:#0f1828;color:#f2f6fc;font:12px var(--mono)}.ox-form button{justify-self:start}.ox-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:18px;gap:18px}.ox-cardmeta{margin:0 0 6px}.ox-decision,.ox-summary{position:static;display:block;width:auto;max-width:none}.ox-summary{margin-top:22px;max-width:520px}.ox-drafts{display:flex;gap:3px;margin-top:8px}.ox-draft{width:14px;height:8px;background:#3a5078}.ox-draft.pass{background:#7fcaa0}.ox-draft.fail{background:#7a3f4a}.ox-feedback{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.ox-feedback .on-tag{color:#d4a24e;border-color:#4a3a1d;border-style:solid}.on-auth{margin-right:12px;cursor:pointer}.on-auth-who{display:inline-flex;align-items:center;gap:10px;margin-right:14px;font:11px/1 var(--mono);letter-spacing:.08em;color:#6d80a0}.on-auth-who .on-chip{cursor:pointer}