:root{color-scheme:light;--ink:#17243b;--muted:#64748b;--line:#e1e7f0;--blue:#145deb}
*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.diagnostics{max-width:1460px;margin:0 auto;padding:36px 32px 48px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.back{color:var(--blue);text-decoration:none;font-size:13px}h1{font-size:30px;letter-spacing:-.6px;line-height:1.2;margin:12px 0}p{margin:0}.page-header p,.footnote{color:var(--muted)}
.readonly{white-space:nowrap;background:#e3edff;color:#164ca0;border:1px solid #cadcff;border-radius:24px;padding:7px 14px;font-weight:600}
.controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.field{display:flex;flex-direction:column;gap:6px;min-width:230px}.token-field{flex:1;max-width:360px}label{font-size:12px;font-weight:650;color:#46546a}
input,select,button{font:inherit}input,select{height:42px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;color:var(--ink);background:#fff}
button{height:42px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;padding:8px 15px;cursor:pointer;font-weight:550;white-space:nowrap}
button:hover:not(:disabled){border-color:#7894ba;background:#f5f8fd}button.primary{background:var(--blue);border-color:var(--blue);color:#fff}button.primary:hover:not(:disabled){background:#104fc9}
button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b7d0ff;outline-offset:2px}
.controls-note{width:100%;font-size:12px;color:var(--muted);margin-top:2px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 18px}
.summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 20px}.summary span{display:block;color:var(--muted);font-size:12px}.summary strong{display:block;font-size:26px;font-weight:650;margin-top:2px}
.progress{height:5px;border-radius:5px;background:#dce5f2;overflow:hidden}.progress>div{height:100%;width:0;background:var(--blue);transition:width .2s}
.status-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:12px 0}.status-bar>p{color:#46546a}.report-actions{display:flex;gap:8px}.report-actions button{font-size:12px;height:34px;padding:5px 12px}
.results{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f9fbfd;padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);white-space:nowrap}
td{border-top:1px solid var(--line);padding:15px 16px;vertical-align:top}td:first-child{min-width:235px;width:27%}td:last-child{min-width:260px;width:40%}.source-name{font-size:11px;color:var(--muted);margin-bottom:3px}.test-name{font-weight:600}
.badge{display:inline-block;padding:3px 9px;border-radius:6px;white-space:nowrap;font-size:12px;font-weight:600}.badge.pending,.badge.skipped{background:#f0f3f7;color:#768397}.badge.running{background:#e8efff;color:#1954bc}.badge.ok{background:#e5f5ed;color:#197347}.badge.warn{background:#fff3d5;color:#98600c}.badge.error{background:#fdeaea;color:#b33131}
tr.running{background:#f5f9ff}tr.error{background:#fffcfc}.duration{font-variant-numeric:tabular-nums;white-space:nowrap}.duration.slow{color:#a45f10;font-weight:600}.http{font-variant-numeric:tabular-nums;color:#64748b}
.message{overflow-wrap:anywhere}.message.error{color:#b33131}.timings{margin-top:8px;font-size:12px;color:var(--muted)}.timings summary{cursor:pointer;color:#5373a4}.timings p{margin-top:6px}.endpoint{font:11px/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.footnote{font-size:12px;margin:18px 2px 0;max-width:1050px}
@media(max-width:850px){.diagnostics{padding:22px 16px}.page-header{align-items:flex-start}h1{font-size:24px}.readonly{font-size:11px}.controls{padding:16px}.field,.token-field{width:100%;max-width:none}.summary{gap:8px}.summary>div{padding:12px}.summary strong{font-size:21px}.status-bar{align-items:flex-start;flex-direction:column;padding:14px 0}.status-bar p{min-height:21px}th,td{padding:12px}.report-actions{width:100%}}
@media(max-width:600px){.summary{grid-template-columns:repeat(2,1fr)}}
