:root{--bg:#0f1420;--panel:#171d2b;--line:#273044;--text:#e6ebf5;--muted:#8a94a7;--acked:#1f9d5a;--rejected:#d1495b;--sent:#c9922b;--notsent:#3a4257}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.4 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}header{border-bottom:1px solid var(--line);background:var(--panel);z-index:2;justify-content:space-between;align-items:center;gap:1rem;padding:14px 20px;display:flex;position:sticky;top:0}h1{margin:0;font-size:16px;font-weight:600}.conn{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.dot{background:var(--notsent);border-radius:50%;width:10px;height:10px}.dot.ok{background:var(--acked)}.dot.bad{background:var(--rejected)}.meta{font-variant-numeric:tabular-nums}main{padding:16px 20px}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg);padding:8px 10px;font-weight:600;position:sticky;top:53px}tbody td{border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 10px}tbody tr:hover{background:#131a28}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.buy{color:#4aa3ff}.sell{color:#ff8f6b}.cell{text-align:center;color:#fff;border-radius:5px;min-width:58px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.cell.ACKED{background:var(--acked)}.cell.REJECTED{background:var(--rejected)}.cell.SENT{background:var(--sent);color:#221a06}.cell.NOT_SENT{background:var(--notsent);color:var(--muted)}.cell small{opacity:.85;font-size:10px;font-weight:400;display:block}.resend{vertical-align:middle;border:1px solid var(--line);width:24px;height:24px;color:var(--text);cursor:pointer;background:#222b3d;border-radius:5px;margin-left:6px;padding:0;font-size:14px;line-height:1}.resend:hover{background:#2c374d;border-color:#3d4a66}.resend:disabled,.resend.busy{opacity:.5;cursor:default}.resend.busy{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash{0%{filter:brightness(1.6);box-shadow:0 0 #ffffffe6}to{filter:brightness();box-shadow:0 0 0 8px #fff0}}.cell.flash{animation:.9s ease-out flash}.empty{color:var(--muted);padding:30px 4px}footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:18px;padding:12px 20px;display:flex}.legend{align-items:center;gap:6px;font-size:12px;display:inline-flex}
