/* Desktop ontology uses the same controls, blue accents and panel rhythm as Toolchain. */
.ontology-dialog{width:min(1320px,calc(100vw - 64px));height:min(920px,calc(100vh - 64px));max-width:none;max-height:calc(100vh - 64px);padding:0;border:1px solid var(--line,#d6e0ee);border-radius:var(--panel-radius,6px);color:var(--dark,#153a68);background:#fff;font-size:13px}
.ontology-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.ontology-dialog [hidden]{display:none!important}
.ontology-head{display:flex;align-items:center;gap:12px;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line,#d6e0ee);flex:0 0 auto;flex-wrap:wrap}
.ontology-head h2{font-size:23px;letter-spacing:-.025em;margin:0 12px 0 0}.ontology-head select{width:auto;min-width:180px;max-width:340px}.ontology-head>.pc-workspace-language{min-width:100px;width:104px}.ontology-head>button{margin-left:auto}
.ontology-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 24px;background:#f8faff;border-bottom:1px solid var(--line,#d6e0ee);flex:0 0 auto}
.ontology-toolbar input[type=search]{width:260px;min-width:180px;max-width:340px;flex:1 1 220px}.ontology-toolbar input[hidden]{display:none}
.pc-button-group{display:inline-flex;align-items:stretch;gap:0;border:1px solid var(--line,#c8d7ec);border-radius:var(--control-radius,4px);background:#fff;flex:0 0 auto;max-width:100%}
.pc-button-group>button,.pc-button-group>details>summary{margin:0;border:0;border-radius:0;background:transparent;white-space:nowrap;min-height:32px;padding:5px 10px;font-size:13px;line-height:20px}
.pc-button-group>button+button,.pc-button-group>details+details{border-left:1px solid var(--line,#c8d7ec)}.pc-button-group>button:first-child,.pc-button-group>details:first-child>summary{border-radius:var(--control-radius,4px) 0 0 var(--control-radius,4px)}.pc-button-group>button:last-child,.pc-button-group>details:last-child>summary{border-radius:0 var(--control-radius,4px) var(--control-radius,4px) 0}
.pc-button-group>button:hover,.pc-button-group>details>summary:hover{background:var(--pale,#edf4ff)}.pc-button-group>button:focus-visible{outline:2px solid var(--accent,#0055db);outline-offset:-2px;z-index:1}
.ontology-toolbar button.primary{background:var(--accent,#0055db);color:white}.ontology-toolbar button.primary:hover{filter:brightness(.94)}
.ontology-command-menu{position:relative;flex:0 0 auto}.ontology-command-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;border:1px solid var(--line,#c8d7ec);border-radius:var(--control-radius,4px);padding:5px 10px;line-height:20px;background:white;color:inherit;min-height:32px;box-sizing:border-box}.ontology-command-menu>summary::-webkit-details-marker{display:none}.ontology-command-menu>summary>span{font-size:11px;color:var(--muted,#60748e)}
.ontology-command-menu>.pc-button-group{position:absolute;top:calc(100% + 5px);right:0;z-index:25;display:flex;flex-direction:column;min-width:205px;padding:5px;box-shadow:0 6px 20px #19345c1a;border-radius:6px}.ontology-command-menu>.pc-button-group>button{border:0;border-radius:4px;text-align:left}.pc-button-group>.ontology-command-menu>summary{border:0}
.ontology-summary{padding:8px 24px;background:#f8faff;font-size:12px;line-height:1.5;max-height:110px;overflow:auto;flex:0 0 auto}.ontology-summary p{margin:0;color:var(--muted,#60748e)}.ontology-status{padding:0 24px;margin:0;font-size:12px;line-height:1.5;white-space:pre-wrap;flex:0 0 auto}.ontology-status:not(:empty){padding:6px 24px 10px}.ontology-status.error{color:var(--danger,#a82b25)}
.ontology-layout{display:grid;grid-template-columns:340px minmax(0,1fr);flex:1;min-height:0;overflow:hidden;background:#f8faff;border-top:1px solid var(--line,#d6e0ee)}
.ontology-list{overflow:auto;padding:12px 0;background:white;border-right:1px solid var(--line,#d6e0ee)}.ontology-list>p{font-size:12px;color:var(--muted,#60748e);margin:0;padding:6px 16px 12px}.ontology-list-row{display:flex;align-items:center;gap:8px;padding-left:14px;border-bottom:1px solid var(--line,#e1e8f2)}.ontology-list-row button{flex:1;text-align:left;padding:13px 14px;white-space:normal;overflow-wrap:anywhere;border:0;border-radius:0;line-height:1.5;background:white}.ontology-list-row:has([aria-current=true]){background:#edf4ff;box-shadow:inset 3px 0 var(--accent,#0055db)}.ontology-list-row [aria-current=true]{background:#edf4ff;color:var(--dark,#153a68)}
.ontology-detail{overflow:auto;min-width:0;padding:20px 24px;background:white;line-height:1.6}.ontology-detail>h3{font-size:19px;line-height:1.4;margin:0 0 14px}.ontology-detail>p{margin:8px 0 16px;color:var(--muted,#60748e)}
.ontology-term-tabs{margin:0 0 20px;background:#f1f5fb}.ontology-term-tabs>button[aria-selected=true]{background:white;color:var(--accent,#0055db);font-weight:600;box-shadow:inset 0 -2px var(--accent,#0055db)}
.ontology-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.ontology-field{display:flex;flex-direction:column;gap:5px;margin-bottom:6px;font-size:12px;min-width:0}.ontology-field>span{font-weight:500}.ontology-field textarea{min-height:80px;resize:vertical;line-height:1.5}
.ontology-detail input,.ontology-detail textarea,.ontology-detail select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line,#bdcde5);border-radius:var(--control-radius,4px);box-sizing:border-box;min-width:0;max-width:100%;color:inherit;background:white}.ontology-detail input:disabled,.ontology-detail textarea:disabled,.ontology-detail select:disabled{color:var(--muted,#526981);background:#f4f7fb;opacity:1}
.ontology-term-panel>h4{font-size:15px;margin:0 0 12px}.ontology-term-panel>p{font-size:12px;color:var(--muted,#60748e)}.ontology-term-panel fieldset{margin:10px 0 14px;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid var(--line,#d6e0ee);border-radius:var(--panel-radius,6px);min-width:0}.ontology-term-panel fieldset .ontology-field:has(textarea){grid-column:1/-1}.ontology-term-panel fieldset>button{justify-self:start}.ontology-delete-term{margin-top:22px;color:var(--danger,#a82b25)}
.ontology-issue{display:block;text-align:left;color:var(--danger,#a82b25);font-size:12px;margin:4px 0}.ontology-choice{display:flex;align-items:start;gap:10px;padding:10px 12px;margin:0;border-bottom:1px solid var(--line,#d6e0ee)}.ontology-choice:has(input:checked){background:var(--pale,#edf4ff)}.ontology-choice input{flex:0 0 auto;margin-top:3px}.ontology-detail>.pc-button-group{margin-top:16px}.ontology-standard{display:block;margin:8px 0;color:var(--accent,#0055db)}.ontology-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f4f7fb;border:1px solid var(--line,#d6e0ee);padding:14px;border-radius:6px}
.ontology-head>button{order:10;margin-left:0}.ontology-head>select:not(.pc-workspace-language){margin-right:auto}
.ontology-dialog .ontology-choice{flex-direction:row;align-items:center}.ontology-dialog .ontology-choice input{margin:0}
.ontology-update-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;border-radius:9px;background:var(--accent,#0055db);color:white;font-size:11px;font-weight:600}
.ontology-progress{flex:0 0 auto}.ontology-progress:empty{display:none}
.ontology-tree-header{position:sticky;top:0;z-index:2;padding:10px 14px;display:flex;flex-direction:column;gap:7px;background:#f5f8ff;border-bottom:1px solid #c8d7ec;font-size:12px}
.ontology-tree-header>label{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600;line-height:1.5;margin:0}.ontology-tree-header>small{color:#526981}
.ontology-tree-controls{display:flex;gap:12px}.ontology-tree-controls button{font-size:12px;border:0;background:transparent;padding:0;color:#0055db;min-height:24px}
.ontology-dialog .ontology-tree input[type=checkbox],.ontology-dialog .ontology-catalogue-tree input[type=checkbox],.ontology-cluster-head>input,.ontology-tree-header input{width:16px;height:16px;padding:0;flex:0 0 auto;accent-color:#0055db;margin:0}
.ontology-cluster-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f1f5fb;border-bottom:1px solid #d6e0ee}
.ontology-cluster-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-align:left;line-height:1.45;padding:3px 0;border:0;background:transparent;color:inherit;font-weight:600;overflow-wrap:anywhere}
.ontology-cluster-toggle>span:nth-child(2){flex:1}.ontology-cluster-toggle>small{font-weight:400;background:#fff;padding:1px 6px;border:1px solid #d6e0ee;border-radius:9px}.ontology-cluster-head>button:last-child:not(.ontology-cluster-toggle){font-size:16px;padding:2px 4px;background:transparent;border:0;color:#526981}
.ontology-cluster-terms>.ontology-list-row{padding-left:26px}.ontology-cluster-terms>.ontology-list-row button{padding:8px 10px}.ontology-cluster-terms>.ontology-choice{padding-left:26px}
.ontology-bulk{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8faff;border-top:1px solid #d6e0ee}.ontology-bulk button,.ontology-bulk select{font:inherit;padding:7px 10px;border:1px solid #bdcde5;border-radius:4px;background:white;color:inherit}.ontology-bulk button:disabled{opacity:.5}
.ontology-catalogue-tree{margin-top:12px;border:1px solid #d6e0ee;border-radius:5px}.ontology-dialog[aria-busy=true] .ontology-layout{cursor:progress}

/* Management uses the full work area; the sidebar chooses the destination. */
.ontology-dialog[data-management] .ontology-toolbar,.ontology-dialog[data-management] .ontology-summary{display:none}
.ontology-dialog[data-management] .ontology-layout{grid-template-columns:260px minmax(0,1fr)}
.ontology-dialog[data-management] .ontology-list{display:flex;flex-direction:column;gap:12px;padding:18px 14px;background:#f8faff;overflow:hidden}
.ontology-dialog[data-management] .ontology-list>h3{font-size:14px;margin:0}
.ontology-dialog[data-management] .ontology-list>input{width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border:1px solid #bdcde5;border-radius:4px;font:inherit}
.ontology-management-scopes{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px}
.ontology-management-scopes>button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:11px 12px;border:1px solid transparent;background:transparent;color:inherit;font:inherit;border-radius:5px}
.ontology-management-scopes>button[aria-current=true]{background:#e8f0ff;border-color:#b8ceef;box-shadow:inset 3px 0 #0055db;font-weight:600}
.ontology-management-scopes>button:hover{background:#edf3ff}.ontology-management-scopes small{font-size:11px;color:#655000;font-weight:500}
.ontology-dialog[data-management] .ontology-detail{display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:18px 22px 0}
.ontology-management-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex:0 0 auto}
.ontology-management-heading h3{margin:0;font-size:21px;line-height:1.4}.ontology-management-heading p{max-width:680px;font-size:12px;line-height:1.5;color:#526981;margin:5px 0 0}
.ontology-dialog[data-management] button{font:inherit;cursor:pointer}.ontology-dialog[data-management] button:not(.ontology-cluster-toggle){border-radius:4px}
.ontology-dialog[data-management] .ontology-detail button:not(.ontology-cluster-toggle){padding:7px 10px;min-height:32px;border:1px solid #bdcde5;background:white;color:inherit}
.ontology-dialog[data-management] .ontology-detail button.primary{background:#0055db;color:#fff;border-color:#0055db}
.ontology-dialog[data-management] button:disabled{opacity:.45;cursor:default}.ontology-dialog[data-management] button:focus-visible,.ontology-dialog[data-management] input:focus-visible,.ontology-dialog[data-management] select:focus-visible{outline:2px solid #0055db;outline-offset:2px}
.ontology-dialog[data-management] .ontology-detail>.ontology-management-scope-name{margin:0;font-size:15px;font-weight:600;color:#153a68}
.ontology-management-filters{display:flex;align-items:center;gap:9px;flex:0 0 auto;flex-wrap:wrap}
.ontology-management-filters>input[type=search]{flex:1;width:auto;min-width:200px}.ontology-management-filters>select{width:auto;max-width:240px;flex:0 1 220px}.ontology-management-filters>span{font-size:12px;color:#526981}
.ontology-management-results{flex:1 1 200px;min-height:120px;overflow:auto;border:1px solid #d6e0ee;border-radius:5px;background:white}
.ontology-management-results>p{margin:12px;color:#526981}.ontology-visibility-tree .ontology-tree-header{top:0}
.ontology-dialog[data-management] .ontology-management-help{font-size:11px;line-height:1.5;color:#526981;margin:0;flex:0 0 auto}
.ontology-management-footer{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8faff;border-top:1px solid #d6e0ee;padding:12px 22px;margin:0 -22px;flex:0 0 auto}
.ontology-management-footer>p{flex:1 1 200px;font-size:11px;line-height:1.5;color:#526981;margin:0}.ontology-management-footer>button.primary{margin-left:auto}
.ontology-visibility-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:0 0 auto}
.ontology-visibility-stats>div{display:flex;align-items:baseline;gap:10px;padding:10px 14px;background:#f5f8ff;border:1px solid #d6e0ee;border-radius:5px}
.ontology-visibility-stats strong{font-size:22px;line-height:1.2;color:#153a68}.ontology-visibility-stats span{font-size:12px;color:#526981}
.ontology-visibility-review,.ontology-grants-preview{flex:1 1 200px;min-height:120px;overflow:auto;border:1px solid #bdcde5;border-radius:5px;padding:14px;background:#f8faff}
.ontology-visibility-review h4,.ontology-grants-preview h4{margin:0 0 8px;font-size:16px}.ontology-visibility-review>p,.ontology-grants-preview>p{font-size:12px}
.ontology-visibility-review ul{list-style:none;padding:0}.ontology-visibility-review li{display:flex;align-items:center;gap:12px;border-bottom:1px solid #d6e0ee;padding:8px 0;font-size:12px}.ontology-visibility-review>button,.ontology-grants-preview>button{margin-right:8px}
.ontology-change-add{color:#14613c;background:#e4f4eb}.ontology-change-remove{color:#932e2e;background:#fbecec}.ontology-change-add,.ontology-change-remove{padding:2px 8px;border-radius:4px;min-width:88px}
.ontology-grants-options{display:grid;grid-template-columns:230px minmax(0,1fr);gap:8px 16px;padding:12px;background:#f8faff;border:1px solid #d6e0ee;border-radius:5px;flex:0 0 auto}
.ontology-grants-options>.ontology-management-help{grid-column:1/-1}.ontology-grants-rights{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:0;margin:0;padding:0;min-width:0}.ontology-grants-rights legend{font-size:12px;padding:0;margin-bottom:5px}
.ontology-grants-rights label{display:flex;align-items:center;gap:6px;flex-direction:row;font-size:12px;margin:0}
.ontology-dialog[data-management] input[type=checkbox]{width:16px;height:16px;padding:0;accent-color:#0055db;flex:0 0 auto;margin:0}
.ontology-grant-person{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid #e1e8f2;margin:0!important;flex-direction:row!important;cursor:pointer;line-height:1.4}
.ontology-grant-person:has(input:checked){background:#edf4ff}.ontology-grant-person>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1;overflow-wrap:anywhere}.ontology-grant-person strong{font-size:13px}.ontology-grant-person small{font-size:11px;color:#526981}
.ontology-permission-badges{display:flex;gap:5px;flex-wrap:wrap;align-items:center;font-size:11px;max-width:55%}.ontology-permission-badges>span{display:inline-block;background:#e8effb;color:#204b7c;border-radius:4px;padding:2px 7px;white-space:nowrap}.ontology-permission-badges>.ontology-muted{background:#f0f3f7;color:#526981}
.ontology-grants-preview table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:16px;text-align:left}.ontology-grants-preview th,.ontology-grants-preview td{border-bottom:1px solid #d6e0ee;padding:9px 10px;vertical-align:top}.ontology-grants-preview thead{background:#edf3ff}.ontology-grants-preview .ontology-permission-badges{max-width:none}.ontology-grants-preview td>small{display:block;color:#526981;font-size:11px;margin-top:4px}
