.perf-screen{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.perf{background:var(--line);flex:1;grid-template-rows:32px 78px 1fr 257px;grid-template-columns:1fr 330px;gap:1px;min-height:0;display:grid}.perf .viewbar{background:var(--panel2);grid-column:1/-1;align-items:center;gap:10px;padding:0 12px;display:flex}.perf .viewbar h1{letter-spacing:.16em;text-transform:uppercase;color:#dbe4f0;font-size:11px;font-weight:600}.perf .viewbar .sep{background:var(--line);width:1px;height:14px}.perf .viewbar .sp{flex:1}.perf .viewbar .vstat{font-family:var(--mono);color:var(--faint);font-size:10px}.perf .chipf{gap:2px;margin-left:4px;display:flex}.perf .chipf span,.perf .chipf button{font-size:10px;font-family:var(--mono);color:var(--faint);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:2px;padding:3px 9px}.perf .chipf span.on,.perf .chipf button.on{background:var(--panel3);color:#e2eaf6;border:1px solid var(--line)}.perf .chipf button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.perf .btn{color:var(--dim);border:1px solid var(--line);background:var(--panel);cursor:pointer;letter-spacing:.04em;border-radius:2px;justify-content:center;align-items:center;padding:4px 10px;font-size:10.5px;font-weight:400;line-height:normal;transition:none;display:inline-flex}.perf .btn:hover:not(:disabled){color:#e2eaf6;border-color:#2b3648}.perf .btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.perf .btn:disabled{opacity:1;color:var(--faint);border-color:var(--line);background:var(--panel);cursor:not-allowed}.perf .kpis{background:var(--line);grid-column:1/-1;grid-template-columns:repeat(8,1fr);gap:1px;display:grid}.perf .kpi{background:var(--panel);flex-direction:column;justify-content:center;gap:4px;padding:9px 12px;display:flex;position:relative}.perf .kpi .k{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:9px;font-weight:600}.perf .kpi .v{font-family:var(--mono);letter-spacing:-.01em;color:#eef3fa;font-size:20px;line-height:1}.perf .kpi .v.dim{color:var(--dim)}.perf .kpi .s{color:var(--faint);font-size:9.5px;font-family:var(--mono)}.perf .kpi .s.up{color:var(--up)}.perf .kpi .s.dn{color:var(--dn)}.perf .gate{font-size:8px;font-family:var(--mono);letter-spacing:.06em;border-radius:2px;padding:1.5px 4px;position:absolute;top:8px;right:10px}.perf .gate.pass{background:var(--upbg);color:var(--up);border:1px solid var(--upb)}.perf .gate.fail{background:var(--dnbg);color:var(--dn);border:1px solid var(--dnb)}.perf .gate.unvalidated{background:var(--goldbg);color:var(--gold);border:1px solid #d6a5446b}.perf .eqpanel{background:var(--panel);flex-direction:column;grid-area:3/1;min-height:0;display:flex}.perf .eqwrap{flex:1;min-height:0;position:relative}.perf .eqlegend{z-index:3;font-family:var(--mono);color:var(--dim);background:#080b11b8;border-radius:2px;padding:5px 9px;font-size:10px;line-height:1.6;position:absolute;top:8px;left:12px}.perf .eqlegend b{color:#d7e0ec;font-weight:500}.perf .eqlegend .sw{vertical-align:middle;width:9px;height:2px;margin-right:5px;display:inline-block}.perf .eqlegend .row{display:block}.perf .eqstrip{z-index:4;background:var(--goldbg);color:var(--gold);font-family:var(--mono);letter-spacing:.06em;text-align:center;border-bottom:1px solid #d6a5446b;padding:3px 10px;font-size:9.5px;position:absolute;top:0;left:0;right:0}.perf .eqwrap.striped .eqlegend{top:24px}.perf .rail{background:var(--bg);flex-direction:column;grid-area:3/2/span 2;gap:8px;padding:8px;display:flex;overflow:hidden}.perf .rail .card{margin:0}.perf .card-h .r{color:var(--faint);font-size:9.5px;font-family:var(--mono)}.perf .note{color:var(--faint);border-top:1px solid var(--line2);padding:7px 9px;font-size:9.5px;line-height:1.5}.perf .kv2{font-family:var(--mono);justify-content:space-between;align-items:center;padding:3.5px 9px;font-size:11px;display:flex}.perf .kv2 .k{color:var(--faint);font-family:var(--sans);letter-spacing:.05em;font-size:10px}.perf .kv2 .v{color:#dbe3ef;text-align:right}.perf .kv2 .v small{color:var(--faint);margin-left:5px}.perf .kv2.rule{border-top:1px solid var(--line2);margin-top:4px}.perf .mini{background:var(--panel3);border-radius:3px;height:5px;margin:2px 9px 6px;display:flex;overflow:hidden}.perf .mini i{height:100%;display:block}.perf .status-ok{color:var(--up)}.perf .status-warn{color:var(--gold)}.perf .status-bad{color:var(--dn)}.perf .tabs{border-bottom:1px solid var(--line);background:var(--panel3);flex-direction:row;gap:2px;padding:0 9px;display:flex}.perf .tabs span,.perf .tabs button{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:5px 9px;font-size:9.5px;font-weight:600}.perf .tabs span.on,.perf .tabs button.on{color:#e6edf8;border-bottom:2px solid var(--gold)}.perf .tabs span.off,.perf .tabs button.off{opacity:.55;cursor:not-allowed}.perf .tabs button:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.perf .attr{padding:5px 9px}.perf .attr .arow{font-family:var(--mono);border-bottom:1px solid var(--line2);grid-template-columns:1fr 46px 40px 44px;align-items:center;gap:6px;padding:3.5px 0;font-size:10.5px;display:grid}.perf .attr .arow:last-child{border-bottom:none}.perf .attr .arow .lbl{font-family:var(--sans);letter-spacing:.05em;color:#cdd7e5;font-size:10px}.perf .attr .arow .num{text-align:right;color:#dbe3ef}.perf .attr .hdr{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-family:var(--sans)}.perf .attr-empty{font-family:var(--mono);letter-spacing:.1em;color:var(--faint);padding:8px 0;font-size:10px}.perf .ledger{background:var(--panel);flex-direction:column;grid-area:4/1;min-height:0;display:flex}.perf .lrow{border-bottom:1px solid var(--line2);grid-template-columns:120px 60px 42px 72px 72px 72px 72px 56px 50px 1fr 62px;align-items:center;gap:8px;height:26px;padding:0 12px;font-size:10.5px;display:grid}.perf .lrow:hover{background:var(--panel2)}.perf .lrow .t{font-family:var(--mono);color:var(--faint);font-size:10px}.perf .lrow .sym{color:#dbe4f0;letter-spacing:.03em;font-weight:600}.perf .lrow .num{font-family:var(--mono);text-align:right}.perf .lrow .rs{font-family:var(--mono);text-align:right;font-weight:600}.perf .lrow .cf{font-family:var(--mono);text-align:right;color:#cdd7e5}.perf .lrow .why{flex-wrap:wrap;gap:4px;display:flex;overflow:hidden}.perf .rtag.sm{padding:1.5px 4px;font-size:8.5px}.perf .lrow .mv{font-family:var(--mono);color:var(--faint);text-align:right;font-size:9.5px}.perf .lrow.hdr{background:var(--panel2);height:22px;color:var(--faint);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:600}.perf .lrow.ledger-empty{color:var(--faint);font-family:var(--mono);letter-spacing:.1em;grid-template-columns:1fr;font-size:10px}.perf #ledger{scrollbar-width:thin;scrollbar-color:var(--panel3) var(--line2);flex:1;min-height:0;overflow:hidden auto}.perf #ledger::-webkit-scrollbar{width:8px}.perf #ledger::-webkit-scrollbar-track{background:var(--line2)}.perf #ledger::-webkit-scrollbar-thumb{background:var(--panel3);border-radius:4px}.perf-banner{background:var(--goldbg);color:var(--gold);font-size:9.5px;font-family:var(--mono);letter-spacing:.04em;border-bottom:1px solid #d6a5446b;flex:none;padding:4px 12px}
