.pool-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pool-jump { flex-wrap: wrap; gap: 10px 20px; margin-bottom: 16px; }
.pool-jump a { border-bottom: 1px solid currentColor; }
.pool-section { margin-bottom: 18px; scroll-margin-top: 12px; }
.pool-section h2 { margin-bottom: 12px; }
.pool-section h3 { margin: 20px 0 8px; font-size: 15px; }
.pool-note { color: var(--muted); font-size: 13px; }
.table-scroll { overflow: auto; }
.pool-section table { width: 100%; border-collapse: collapse; text-align: left; font-variant-numeric: tabular-nums; }
.pool-section th, .pool-section td { padding: 10px 12px; border-bottom: 1px solid var(--line); }
.pool-section thead { background: #eef4ed; font-size: 12px; white-space: nowrap; }
.pool-section td { white-space: nowrap; }
.pool-section tbody th { min-width: 145px; font-size: 14px; }
.pool-section tbody th a { color: inherit; text-underline-offset: 3px; }
.pool-section tbody tr:hover { background: #f7faf6; }
.pool-section .breach { color: #8d2f28; }
.band { background: #dce8df; position: relative; height: 5px; border-radius: 4px; margin-top: 5px; }
.band::before, .band::after { content: ""; position: absolute; transform: translateX(-50%); }
.band::before { display:var(--show-target,block); left: var(--target); height: 10px; width: 2px; top: -2.5px; background: #475d58; }
.band::after { left: var(--actual); background: #176956; border: 1px solid #fff; border-radius: 50%; width: 10px; height: 10px; top: -2.5px; }
.policy-list { padding-left: 22px; }
.policy-list li { margin: 7px 0; }
.pool-events { padding: 0; list-style: none; margin: 22px 0 10px; }
.pool-events li { display: grid; grid-template-columns: 105px 1fr; gap: 12px; border-top: 1px solid var(--line); padding: 14px 0; }
.pool-events time { font-variant-numeric: tabular-nums; }
.pool-events p { margin: 3px 0; }
.pool-managers details { border-top: 1px solid var(--line); scroll-margin-top: 12px; }
.pool-managers details:last-child { border-bottom: 1px solid var(--line); }
.pool-managers summary { padding: 12px 0; font-size: 15px; }
.pool-managers summary span { margin-left: 10px; font-size: 12px; color: var(--muted); }
.pool-managers ul { padding-left: 22px; }
.pool-managers li { padding: 4px 0; }
.pool-managers li span { display: block; color: var(--muted); font-size: 13px; }
.pool-index { list-style: none; }
.pool-index li span { display: block; color: var(--muted); }
@media (max-width: 550px) {
  .pool-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pool-metrics div { padding: 10px 6px !important; }
  .pool-metrics strong { font-size: 21px; }
  .pool-events li { grid-template-columns: 1fr; gap: 3px; }
}
.pool-flow-heading, .flow-detail-head { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.pool-flow-heading .pool-note { margin:0 0 16px; }
.flow-total { flex:none; text-align:right; }
.flow-total span { display:block; color:var(--muted); font-size:12px; }
.flow-total strong { display:block; color:var(--teal); font:27px Georgia,serif; }
.flow-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:16px; align-items:start; }
.flow-overview { display:grid; grid-template-columns:minmax(52px, .42fr) minmax(0, 1fr); align-items:stretch; padding:10px; border:1px solid var(--line); border-radius:9px; background:#f6faf6; }
#flow-chart { width:100%; height:100%; display:block; }
#flow-chart path { cursor:pointer; }
#flow-chart path:hover { opacity:1; }
.flow-sleeves { min-width:0; }
.flow-sleeve { display:grid; align-items:center; grid-template-columns:minmax(0,1fr) auto minmax(40px,auto); gap:8px; width:100%; height:36px; border:0; border-left:3px solid var(--sleeve-color); border-radius:0 5px 5px 0; padding:3px 7px; text-align:left; font-size:12px; line-height:1.15; background:transparent; }
.flow-sleeve span:last-child { text-align:right; color:var(--muted); }
.flow-sleeve strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
.flow-sleeve[aria-pressed="true"], .flow-sleeve:hover { background:#e1efe7; }
.flow-detail { border:1px solid var(--line); border-radius:9px; padding:15px; background:#fff; min-width:0; }
.flow-detail-head { padding-bottom:12px; border-bottom:1px solid var(--line); }
.flow-detail-head a { flex:none; font-size:12px; }
.flow-detail h3 { margin:0; }
.flow-detail-head p { margin:4px 0 0; color:var(--teal); font-weight:600; }
#flow-record { max-height:350px; overflow:auto; overflow-wrap:anywhere; padding:12px 8px 0 0; }
#flow-record h3 { margin:10px 0 6px; font-size:13px; }
#flow-record ul { list-style:none; margin:0 0 10px; padding:0; }
#flow-record ul ul { padding-left:12px; margin:4px 0; border-left:2px solid var(--line); }
#flow-record li { padding:5px 0; }
#flow-record li strong { font-size:13px; }
#flow-record li span { display:block; color:var(--muted); font-size:12px; }
#flow-record .pool-exposure, .pool-managers .pool-exposure { color:var(--teal); font-weight:650; }
.pool-index li + li { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
@media(max-width:830px) {
  .flow-layout { grid-template-columns:1fr; }
  .flow-overview { grid-template-columns:minmax(32px, .24fr) minmax(0, 1fr); }
}
@media(max-width:460px) {
  .flow-overview { padding:6px; }
  .flow-sleeve { gap:5px; padding:2px 4px; font-size:11px; }
  .flow-total strong { font-size:20px; }
}
.flow-tabs { display:flex; flex-wrap:wrap; gap:6px; padding-top:10px; }
.flow-tabs button { border:0; background:#f3f6f2; padding:5px 9px; border-radius:5px; font-size:12px; color:var(--ink); }
.flow-tabs button[aria-pressed="true"] { background:#d9ece1; color:#145c4b; font-weight:650; }
#flow-record { max-height:310px; }
.flow-filter { padding-top:8px; }
.flow-filter label { display:block; color:var(--muted); font-size:12px; }
.flow-filter input { height:32px; max-width:280px; }
#flow-record li + li { border-top:1px solid #edf0eb; }
.flow-drill-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-bottom:8px; }
.flow-drill-head[hidden] { display:none; }
.flow-drill-head h3 { flex-basis:100%; margin:4px 0 0; }
.flow-drill-head button { padding:5px 9px; font-size:12px; }
.flow-sleeve.flow-leaf { cursor:default; }
.flow-leaf:hover { background:transparent; }
#flow-chart .flow-static-band { cursor:default; }
.flow-child { padding-left:calc(8px + var(--depth) * 11px); border-left:2px solid #cddbd3; }
#flow-basis { font-size:11px; font-weight:400; color:var(--muted); }
#flow-manager-chart { font-size:12px; padding:4px 8px; margin-top:8px; }
.flow-navigation { min-width:0; }
.flow-sleeves > .flow-leaf span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#flow-chart .flow-branch { fill:none; stroke:#819a8e; stroke-width:1.4; pointer-events:none; }

.flow-overview { max-height:max(130px, calc(100dvh - 238px)); overflow:auto; }
.flow-controls { display:flex; justify-content:flex-end; margin-bottom:6px; }
#flow-expand { padding:3px 8px; border-color:transparent; background:transparent; color:var(--teal); font-size:12px; }
#flow-expand[aria-pressed="true"] { background:#e1efe7; }
.flow-focused .flow-layout { grid-template-columns:minmax(0, 1.65fr) minmax(0, 1fr); }
.flow-drill-head h3 { flex-basis:auto; margin:0; }
#flow-branch-value { color:var(--teal); font-variant-numeric:tabular-nums; }
.flow-controls { justify-content:space-between; align-items:center; gap:8px; }
.flow-controls button { margin-left:auto; }
#flow-count { color:var(--muted); font-size:11px; }
.flow-focused .flow-overview { grid-template-columns:minmax(35px,.24fr) minmax(0,1fr); }
.flow-focused .flow-sleeve > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:830px) { .flow-focused .flow-layout { grid-template-columns:1fr; } }
