body{background:#0a0a0a;color:#eee;font-family:system-ui,sans-serif;margin:0}
    .wrap{max-width:1100px;margin:0 auto;padding:20px}
    h1{color:#0f0;margin:0 0 6px}
    .sub{color:#bbb;margin:0 0 18px}
    .row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
    input,select,button{padding:10px 12px;border:1px solid #333;background:#111;color:#eee;border-radius:8px;font-size:14px}
    input{min-width:360px;flex:1}
    button{cursor:pointer}
    button.primary{border-color:#0f0}
    .card{border:1px solid #222;background:#0f0f0f;border-radius:14px;padding:14px;margin:12px 0}
    .kpi{display:flex;gap:14px;flex-wrap:wrap}
    .k{border:1px solid #222;background:#101010;border-radius:14px;padding:10px 12px;min-width:170px}
    .kv{font-size:22px;font-weight:700;color:#0f0}
    .kl{font-size:12px;color:#9a9a9a}
    .log{white-space:pre-wrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:#ddd;max-height:260px;overflow:auto}
    .err{color:#ff8080}
    table{width:100%;border-collapse:collapse;font-size:13px}
    th,td{border:1px solid #222;padding:8px 10px;text-align:left}
    th{position:sticky;top:0;background:#111;color:#0f0}

.stack{display:flex;flex-direction:column;gap:6px;flex:1}
.stack-wide{min-width:360px}
.stack-mid{min-width:260px}
.help-text{color:#9a9a9a;font-size:12px}
.kpi-gap{margin-top:10px}
.row-gap{margin-top:12px}
.spacer{flex:1}
.render-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.render-title{color:#0f0;font-weight:700}
.render-wrap{overflow:auto;max-height:520px;margin-top:10px}

.tester-box{margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#0f111a}
