/* FEAT-000105 — public governed Sources hierarchy. */
#page-sources #additionalSourcesWrap[hidden],
#page-sources .sources-page-filters [data-filter="sourcesCatalogStatus"][hidden]{display:none!important}

.f105-family-section .source-family-toggle{width:100%}
.f105-virtual-node{border-top:1px solid #e3e8ec}
.f105-virtual-node.depth-0{margin-left:18px}
.f105-virtual-node.depth-1{margin-left:22px}
.f105-virtual-node.depth-2{margin-left:26px}
.f105-virtual-node.depth-3{margin-left:30px}

.f105-virtual-toggle{
  width:100%;
  border:0;
  background:#fff;
  color:#24384c;
  display:flex;
  align-items:center;
  gap:8px;
  text-align:left;
  padding:9px 10px;
  font:600 13px/1.25 Arial,sans-serif;
}
.f105-virtual-toggle:hover,.f105-virtual-toggle:focus-visible{background:#f5f8fa;outline:none}
.f105-node-label{min-width:0;overflow-wrap:anywhere}
.f105-node-count{margin-left:auto;color:#687786;font-size:11px;font-weight:600;white-space:nowrap}
.f105-virtual-body{padding-left:8px}
.f105-leaf-wrap{padding:8px 8px 14px}

#page-sources .f105-leaf-wrap .source-family-table-wrap{
  overflow-x:auto!important;
  overflow-y:auto!important;
  max-width:100%!important;
  scrollbar-gutter:stable;
}

#page-sources .f105-source-table{
  width:max-content!important;
  min-width:1280px!important;
  max-width:none!important;
  table-layout:auto!important;
}

#page-sources .f105-source-table th,
#page-sources .f105-source-table td{
  box-sizing:border-box;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  vertical-align:top;
}

#page-sources .f105-source-table .expander-head,
#page-sources .f105-source-table .expander-cell{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
}

#page-sources .f105-source-table .frozen-primary{
  width:320px!important;
  min-width:320px!important;
  max-width:320px!important;
}

#page-sources .f105-source-table .source-author-col{
  width:180px!important;
  min-width:180px!important;
  max-width:220px!important;
}

#page-sources .f105-source-table .source-pub-col{
  width:90px!important;
  min-width:90px!important;
  max-width:100px!important;
}

#page-sources .f105-source-table .source-level-col{
  width:110px!important;
  min-width:110px!important;
  max-width:130px!important;
}

#page-sources .f105-source-table .source-f105-split-col,
#page-sources .f105-source-table .source-details-col,
#page-sources .f105-source-table .source-context-col{
  width:180px!important;
  min-width:180px!important;
  max-width:260px!important;
}

#page-sources .f105-source-table .source-fact-col{
  width:150px!important;
  min-width:150px!important;
  max-width:180px!important;
}

#page-sources .f105-source-table .source-actions-col{
  width:210px!important;
  min-width:210px!important;
  max-width:240px!important;
}

#page-sources .f105-source-table .source-actions{
  display:flex;
  flex-wrap:wrap;
  gap:3px;
}

#page-sources .f105-source-table .action-btn{
  white-space:normal!important;
  max-width:100%;
  padding:4px 5px!important;
}

#page-sources .f105-source-table .source-indent{min-width:0}
#page-sources .f105-source-table .source-row-note{overflow-wrap:anywhere}

/* Header and body stay in the same physical table. Do not use the F100
   viewport-fit percentage layout here; it caused the visible header/body drift
   when F105 adds family-specific columns dynamically. */
#page-sources .f105-source-table thead th{
  height:auto!important;
  line-height:1.2!important;
}

