/* Quiet source views; status colors are reserved for actual server findings. */
.xr-source-view { min-width: 0; color-scheme: light; }
body.darkmode .xr-source-view { color-scheme: dark; }
.xr-source-view * { box-sizing: border-box; letter-spacing: 0; }
.xr-source-view [hidden] { display: none !important; }
.xr-source-tools { position: sticky; top: var(--source-sticky-top, 100px); z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-block: 1px solid var(--review-line); background: var(--review-surface); }
.xr-source-counts { display: flex; flex-wrap: wrap; gap: 12px; font-size: 14px; color: var(--review-muted); }
.xr-source-count--critical { color: var(--review-red); }
.xr-source-count--warn { color: var(--review-orange); }
.xr-source-count--uncertain { color: var(--review-amber); }
.xr-source-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; max-width: 100%; min-width: 0; }
body .xr-source-view select { min-height: 40px; border: 1px solid var(--review-line); border-radius: 4px; padding: 8px; font: inherit; font-size: 14px; color: var(--review-text); background: var(--review-surface); max-width: 100%; }
.xr-source-select { width: 290px; min-width: 0; }
.xr-source-button { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; border: 1px solid var(--review-line); border-radius: 4px; background: var(--review-surface); color: var(--review-blue); cursor: pointer; }
.xr-source-view .xr-source-button .material-icons-outlined { margin: 0; font-size: 20px; color: inherit !important; }
.xr-source-button:hover:not(:disabled), .xr-source-button[aria-pressed="true"] { background: var(--review-quiet); border-color: var(--review-blue); }
.xr-source-button:disabled { opacity: 0.4; cursor: default; }
.xr-source-view :is(button, select):focus-visible { outline: 2px solid var(--review-blue); outline-offset: 2px; }
.xr-source-selected { margin: 12px 0 18px; padding: 10px 14px; border-left: 3px solid var(--source-tone); background: var(--source-soft); font-size: 14px; overflow-wrap: anywhere; }
.xr-source-selected-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.xr-source-selected p { margin: 8px 0 0; }
.xr-source-view [data-xr-finding="critical"] { --source-tone: var(--review-red); --source-soft: var(--review-red-soft); }
.xr-source-view [data-xr-finding="warn"] { --source-tone: var(--review-orange); --source-soft: var(--review-amber-soft); }
.xr-source-view [data-xr-finding="uncertain"] { --source-tone: var(--review-amber); --source-soft: var(--review-amber-soft); }
.xr-source-status { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font-size: 13px; line-height: 1.5; color: var(--source-tone); font-weight: 500; }
.xr-source-status > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.xr-source-view .xr-source-status .material-icons-outlined { font-size: 18px; margin: 0; color: inherit !important; }
.xr-source-evidence { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; font-size: 14px; line-height: 1.5; margin-top: 8px; color: var(--review-text); }
.xr-source-evidence > div { min-width: 0; overflow-wrap: anywhere; }
.xr-source-evidence small { display: block; font-size: 12px; color: var(--review-muted); font-weight: 500; }
.xr-source-view .xr-summary { background: none; border: 0; border-bottom: 1px solid var(--review-line); padding: 0 0 16px; margin: 18px 0; border-radius: 0; }
.xr-source-view .xr-summary-grid { gap: 14px; }
.xr-source-view .xr-summary-item { background: none; border: 0; border-radius: 0; padding: 8px; min-width: 0; }
.xr-source-view .xr-summary-value { color: var(--review-text); font-weight: 600; overflow-wrap: anywhere; }
.xr-source-view .xr-summary-item[data-xr-finding] { border-left: 3px solid var(--source-tone); background: var(--source-soft); }
.xr-source-view .xr-summary-item .xr-source-status { margin-top: 6px; }
#xr-tree { margin-top: 16px; }
.xr-source-view .xr-tree-search { background: var(--review-quiet); border-color: var(--review-line); color: var(--review-muted); }
.xr-source-view .xr-tree-search input { min-width: 0; font-size: 16px; font-weight: 400; color: var(--review-text); background: transparent; border: 0; }
.xr-source-view .xr-tree-search input::placeholder { color: var(--review-muted); font-weight: 400; opacity: 1; }
.xr-source-view .xr-tree-search-clear { color: var(--review-muted); }
.xr-source-view .xr-tree-search .material-icons-outlined { color: inherit !important; }
.xr-source-view .xr-tree-search-meta, .xr-source-view .xr-summary-label { color: var(--review-muted); }
.xr-source-view .xr-tree-search input::-webkit-search-cancel-button { appearance: none; }
.xr-source-view .xr-tree-search-clear { flex: 0 0 32px; width: 32px; height: 32px; }
#xr-tree .xr-node { background: none; border: 0; border-radius: 0; box-shadow: none; }
#xr-tree details.xr-node { padding: 0; margin-block: 8px; }
#xr-tree details.xr-node > summary { padding: 8px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; background: var(--review-quiet); border-radius: 4px; }
#xr-tree .xr-source-branch-icon { font-size: 18px; margin: 0; color: var(--review-muted) !important; }
#xr-tree details:not([open]) > summary > .xr-source-branch-icon { transform: rotate(-90deg); }
#xr-tree .xr-node-children { border-left: 1px solid var(--review-line); margin-left: 10px; padding-left: 14px; }
#xr-tree .xr-node-title, #xr-tree .xr-leaf-name { color: var(--review-text); font-size: 14px; font-weight: 500; opacity: 1; }
#xr-tree .xr-node-meta { color: var(--review-muted); font-size: 12px; }
#xr-tree .xr-node.xr-leaf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(110px, auto); align-items: start; gap: 8px 16px; padding: 12px; border-bottom: 1px solid var(--review-line); }
#xr-tree .xr-leaf .xr-leaf-value { color: var(--review-text); font-size: 14px; font-weight: 400; }
#xr-tree .xr-leaf[data-xr-finding] { border-left: 3px solid var(--source-tone); background: var(--source-soft); }
#xr-tree .xr-leaf.xr-source-current { outline: 1px solid var(--source-tone); outline-offset: -1px; }
#xr-tree .xr-attr { color: var(--review-muted); background: none; border-color: var(--review-line); }
#xr-tree .xr-source-technical { display: block; margin-top: 3px; color: var(--review-muted); font: 12px/1.5 monospace; overflow-wrap: anywhere; }
.xr-source-branch-count { margin-left: auto; font-size: 12px; font-weight: 500; color: var(--review-muted); }
.xr-source-view #xr-xml-code { counter-reset: none; white-space: normal; position: relative; padding: 8px 0; border-radius: 4px; background: var(--review-quiet); color: var(--review-text); font: 13px/1.65 monospace; max-height: 65vh; overflow: auto; tab-size: 2; }
.xr-source-line { display: block; width: max-content; min-width: 100%; min-height: 1.65em; padding: 0 16px 0 5.5ch; white-space: pre; position: relative; }
.xr-source-line::before { content: attr(data-line); position: absolute; left: 0; width: 4.5ch; padding-right: 1ch; text-align: right; color: var(--review-muted); user-select: none; font-weight: 400; }
.xr-source-line[data-xr-finding] { background: var(--source-soft); border-left: 3px solid var(--source-tone); padding-left: calc(5.5ch - 3px); }
.xr-source-line.xr-source-current { outline: 1px solid var(--source-tone); outline-offset: -1px; }
.xr-source-view #xr-xml-code.xr-source-wrapped .xr-source-line { width: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.xr-source-view #xr-xml-code[data-xr-plain="true"] { white-space: pre; padding: 12px; }
@media (max-width: 700px) {
  .xr-source-controls { width: 100%; }
  .xr-source-select { flex: 1 0 100%; width: 100%; }
  .xr-source-filter { flex: 1 0 100%; min-width: 0; width: 100%; }
  body .xr-source-view select { font-size: 16px; }
  #xr-tree .xr-node-children { margin-left: 3px; padding-left: 5px; }
  #xr-tree .xr-node.xr-leaf { grid-template-columns: minmax(0, 1fr); padding: 10px 8px; }
  .xr-source-evidence { grid-template-columns: minmax(0, 1fr); }
  .xr-source-view .xr-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xr-source-view #xr-xml-code { font-size: 12px; }
}
