.perf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid #edf0f5}.perf-head h2{margin:0}.perf-controls{display:flex;gap:6px;margin-left:auto}.perf-controls button,.perf-dialog button{border:1px solid #dbe1e9;background:#fff;color:#526176;padding:5px 9px;border-radius:4px;cursor:pointer}.perf-controls button:hover{border-color:#6aa6ff;color:#1677ff}.perf-controls button[aria-pressed=true]{background:#eff6ff;color:#1677ff;border-color:#8dbbff}
.perf-cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);gap:8px;padding:10px 12px;overflow-x:auto}.perf-cards>button{font:inherit;text-align:left;cursor:pointer;padding:10px 11px;background:#f8faff;border:1px solid #eff2f7;border-left:3px solid var(--metric-colour);border-radius:5px;min-width:0}.perf-cards span{color:#67758a;font-size:12px;white-space:nowrap}.perf-cards i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--metric-colour)}.perf-cards strong{display:block;margin:7px 0 0;font-size:20px;color:var(--metric-colour);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf-cards small{display:block;font-size:10px;color:#8a97aa;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.perf-plot{position:relative;padding:0 12px}.perf-scrub-hint{margin:0;padding:2px 0 7px;color:#8191a8;font-size:10px;line-height:1.45;min-height:20px;overflow-wrap:anywhere}.perf-svg{display:block;width:100%;height:212px;min-height:0}.perf-svg .perf-hit{fill:transparent!important;stroke:none!important;pointer-events:all}.perf-svg :is(.perf-series,.perf-point,.perf-cross,.perf-grid,text){pointer-events:none}.perf-hit:focus{outline:1px dashed #5c9cfa}
/* Body-mounted detail panel escapes module overflow and remains scrollable. */
.perf-tooltip-portal{position:fixed;inset:auto;z-index:1100;display:flex;flex-direction:column;box-sizing:border-box;min-width:0;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);background:#fff;color:#31415b;border:1px solid #dce5f0;border-radius:9px;padding:11px 12px;box-shadow:0 9px 32px #28456b26;pointer-events:auto;font-family:inherit;font-size:12px;line-height:1.5;isolation:isolate}.perf-tooltip-portal[hidden]{display:none!important}.perf-tooltip-head{display:flex;align-items:flex-start;gap:12px;flex:0 0 auto;padding-bottom:8px;border-bottom:1px solid #edf1f6}.perf-tooltip-date{display:flex;flex:1;min-width:0;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}.perf-tooltip small{display:block;color:#7b8ba3;white-space:normal;overflow-wrap:anywhere}.perf-tooltip-close{flex:0 0 auto;border:1px solid #d9e3f0;border-radius:5px;padding:3px 8px;color:#52749e;background:#f7faff;cursor:pointer;font:inherit;font-size:11px}.perf-tooltip-close:hover{color:#176fd0;background:#edf5ff}.perf-tooltip-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-top:5px}.perf-tooltip-scroll:focus-visible,.perf-tooltip-close:focus-visible{outline:2px solid #76aaff;outline-offset:2px}.perf-tooltip table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0}.perf-tooltip th,.perf-tooltip td{padding:7px 6px;text-align:right;border:0;border-bottom:1px solid #f0f3f8;white-space:normal;overflow-wrap:anywhere;vertical-align:top;background:transparent}.perf-tooltip th{width:32%;text-align:left;font-weight:400;color:#526176}.perf-tooltip thead th{text-align:right;font-size:10px;font-weight:600;color:#7a8ca6}.perf-tooltip thead th:first-child{text-align:left}.perf-tooltip th i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;vertical-align:1px}.perf-tooltip .perf-previous{color:#7586a0;font-size:11px}.perf-tooltip .metric-quality{margin-top:3px;font-size:10px;line-height:1.45;color:#8290a5}
.perf-note{padding:0 12px 9px;margin:0;color:#8996a8;font-size:10px}.perf-dialog{width:min(760px,94vw);padding:22px;border:1px solid #dfe5ed;border-radius:8px}.perf-dialog::backdrop{background:#172b4d45}.perf-options{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:25px 0}.perf-options label{display:flex;gap:9px;align-items:center}.perf-options i{width:7px;height:7px;background:var(--metric-colour);border-radius:50%}.perf-options input{accent-color:#1677ff}.perf-error{color:#d64d63;font-weight:500}.perf-dialog .perf-head{padding:0 0 12px}
.perf-cards>button:hover{box-shadow:0 2px 7px #1677ff0a}.perf-cards>button[aria-pressed=false]{background:#f4f5f7;border-color:#e9ecf1;border-left-color:#bec6d1}.perf-cards>button[aria-pressed=false] :is(span,strong){color:#a0a9b7}.perf-cards>button[aria-pressed=false] i{background:#bec6d1}
@media(max-width:750px){.perf-cards{grid-auto-columns:minmax(120px,1fr);padding:12px}.perf-options{grid-template-columns:repeat(2,1fr)}.perf-head{padding:12px;gap:8px}.perf-tooltip-portal{font-size:11px;padding:9px}.perf-tooltip td,.perf-tooltip th{padding:6px 4px}.perf-controls{flex-wrap:wrap}.perf-controls button{padding:6px 9px;font-size:11px}}

.perf-tooltip-portal[data-layout="overlay"]{box-shadow:0 12px 42px #28456b38;border-color:#a6bddd}
