.v2root .tree .tf .tfold{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:0;border-radius:5px;color:var(--faint);cursor:pointer}.v2root .tree .tf .tfold:hover{color:var(--text);background:var(--raise)}.v2root .tree .tf .tfold:disabled{opacity:.4;cursor:default}.v2root .tree .tf .tfold:disabled:hover{color:var(--faint);background:none}.v2root .tree .tf .tref.spin{opacity:1}.v2root .tree .tf .tref.spin,.v2root .tree .tf .tref.spin:disabled:hover{color:var(--accent)}.v2root .tree .tf .tref.spin svg{animation:vfspin .7s linear infinite}@media (prefers-reduced-motion:reduce){.v2root .tree .tf .tref.spin svg{animation:none}}@media (min-width:861px){.v2root .tree.treeMin{overflow:hidden}.v2root .tree.treeMin .tf{order:-1;flex-direction:column;height:auto;gap:6px;padding:6px 0;border-bottom:0}.v2root .tree.treeMin .tf>:not(.railToggle):not(.tref){display:none}.v2root .tree.treeMin .tf .railToggle{order:-1}.v2root .tree.treeMin .tf .railToggle,.v2root .tree.treeMin .tf .tref{width:40px;height:40px;font-size:15px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--muted)}.v2root .tree.treeMin .tf .railToggle:hover,.v2root .tree.treeMin .tf .tref:hover{background:var(--raise);color:var(--text)}.v2root .tree.treeMin .th{writing-mode:vertical-rl;height:auto;flex:1 1;min-height:0;padding:2px 0;justify-content:flex-start;border-bottom:0;overflow:hidden;font-size:11px;color:var(--faint)}.v2root .tree.treeMin .tbody,.v2root .tree.treeMin .th .add,.v2root .tree.treeMin .tree-resize{display:none}}.v2root .tree .tf .railToggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:0;border-radius:5px;color:var(--faint);font-size:13px;line-height:1;cursor:pointer}.v2root .tree .tf .railToggle:hover{color:var(--text);background:var(--raise)}.v2root .tree .tf .railToggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width:860px){.v2root .tree .tf .railToggle{display:none}}@media (min-width:861px) and (pointer:coarse){.v2root .tree .tf{height:auto;min-height:44px}.v2root .tree .tf .railToggle,.v2root .tree.treeMin .tf .railToggle,.v2root .tree.treeMin .tf .tref{width:44px;height:44px}}.v2root .jsonPanel.erdPanel{width:min(1100px,94vw)}.v2root .erdBody{overflow:auto;display:flex;justify-content:center;padding:14px}.v2root .erdBody .mdMermaid svg{max-width:100%;height:auto}.v2root .erdBody .erdErr{color:#e0564f;font-size:12.5px}.v2root .qEmpty{color:var(--faint);font-size:12.5px;padding:14px;max-width:70ch}.v2root .qEmpty strong{display:block;color:var(--text);font-size:13px;margin-bottom:6px}.v2root .qEmpty p{margin:4px 0}.v2root .qEmpty code{font-family:var(--mono);color:var(--accent,#35c6e0)}.v2root .qMuted{color:var(--muted);font-size:12px}.v2root .qualityPanel{padding:12px 14px;display:flex;flex-direction:column;gap:12px}.v2root .qualityHead{border:1px solid var(--accent-line,rgba(53,198,224,.55));border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.v2root .qualityHead strong{font-size:14px;color:var(--text)}.v2root .qualityHead.fail{border-color:#e0564f}.v2root .qualityHead.fail strong{color:#e0564f}.v2root .qflag{border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600;letter-spacing:.3px}.v2root .qflag.pass{background:var(--accent-2,#57b894);color:#0b1220}.v2root .qflag.fail{background:#e0564f;color:#0b1220}.v2root .policyEditor{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.v2root .policyEditRow{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.v2root .policyField{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.v2root .policyField span{letter-spacing:.3px;text-transform:uppercase;font-size:10px}.v2root .policyField select{font-family:var(--sans);font-size:12.5px;background:var(--panel,#0f1720);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;min-width:150px}.v2root .policyField select:disabled{opacity:.5}.v2root .policyField input[type=number]{font-family:var(--sans);font-size:12.5px;background:var(--panel,#0f1720);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;width:80px}.v2root .policyField input[type=number]:disabled{opacity:.5}.v2root .policyHint{font-size:11.5px;margin:0}.v2root .policyChips{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.v2root .policyChip{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;background:var(--panel,#0f1720);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 9px;cursor:pointer}.v2root .policyChip.on{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.v2root .policyChip:disabled{opacity:.5;cursor:default}.v2root .qtest{border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:6px 0;display:flex;flex-direction:column;gap:4px}.v2root .qtestHead{font-size:12.5px;font-weight:600}.v2root .qtestVals{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.v2root .qtestVal{font-family:var(--mono);font-size:11px;background:var(--panel,#0f1720);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.v2root .qChecks{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.v2root .qChecksHead{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.v2root .qCheckList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.v2root .qCheckRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;padding:4px 0;border-bottom:1px solid var(--border)}.v2root .qCheckCol{font-family:var(--mono);font-size:11.5px;color:#eafcff}.v2root .qSev{font-size:10px;text-transform:uppercase;letter-spacing:.4px;border:1px solid var(--border);border-radius:4px;padding:1px 5px}.v2root .qSev-info{color:var(--muted)}.v2root .qSev-warn{color:#e6a23c}.v2root .qSev-fail{color:var(--danger,#e0564f)}.v2root .qRunList{list-style:none;margin:0;padding:0}.v2root .qRunRow{border-bottom:1px solid var(--border)}.v2root .qRunHead{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:6px 0;cursor:pointer;color:var(--text);font:inherit;font-size:12.5px;text-align:left}.v2root .qRunHead:hover{color:var(--accent)}.v2root .qRunWhen{min-width:150px;color:var(--muted)}.v2root .qRunPct{font-weight:600;font-family:var(--mono)}.v2root .qTone-good{color:var(--accent-2,#57b894)}.v2root .qTone-warn{color:#e6a23c}.v2root .qTone-bad{color:#e0564f}.v2root .qTone-none{color:var(--faint);font-weight:400}.v2root .qRunRules{list-style:none;margin:0 0 8px;padding:2px 0 2px 14px;display:flex;flex-direction:column;gap:3px;font-size:12px}.v2root .qRunRules li{display:flex;gap:8px;align-items:baseline}.v2root .qRuleFail{color:#e0564f}.v2root .qDrill{display:inline-flex;width:22px;height:22px;margin-left:6px;vertical-align:middle}.ownCell{gap:6px;min-width:0;max-width:220px}.ownAvatar,.ownCell{display:inline-flex;align-items:center}.ownAvatar{width:18px;height:18px;border-radius:50%;flex:0 0 auto;justify-content:center;background:var(--accent);color:#04222a;font-size:10px;font-weight:700;line-height:1}.ownAvatarBot{background:var(--border);color:var(--muted);font-size:11px}.ownName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ownDerived .ownName{color:var(--muted)}.ownBy{color:var(--faint);font-size:11px}.ownDomain,.ownMore,.ownRole{font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 6px;line-height:15px;flex:0 0 auto}.ownUnowned{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px dashed var(--border);border-radius:999px;color:var(--muted);font-size:11px;padding:1px 8px;cursor:pointer}.ownUnowned:hover{color:var(--accent);border-color:var(--accent)}.ownDetail{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.ownNote{font-size:11px;color:var(--faint)}