:root{--canvas: #eaeef3;--surface: #ffffff;--surface-2: #f4f7fa;--surface-3: #e9eef4;--border: #dde4ec;--border-strong: #c3cdd9;--text: #0e1a24;--text-2: #44545f;--muted: #6b7a87;--faint: #9aa8b5;--brand: #0e7c86;--brand-600: #0b6670;--brand-700: #0a565e;--brand-tint: #e3f2f3;--rail: #0d1b24;--rail-2: #112430;--rail-line: #1d3340;--rail-text: #aebcc7;--rail-faint: #6a7d8c;--rail-active: #1aa0ac;--green: #15803d;--green-tint: #dcfce7;--amber: #b45309;--amber-tint: #fef3c7;--red: #dc2626;--red-tint: #fee2e2;--violet: #6d28d9;--violet-tint: #f3f0ff;--blue: #1d4ed8;--blue-tint: #eff6ff;--cyan: #0e7490;--cyan-tint: #ecfeff;--pink: #be185d;--pink-tint: #fce7f3;--shadow-sm: 0 1px 2px rgba(13,27,36,.05), 0 1px 3px rgba(13,27,36,.07);--shadow-md: 0 2px 6px rgba(13,27,36,.06), 0 6px 16px rgba(13,27,36,.09);--shadow-lg: 0 12px 32px rgba(13,27,36,.16);--radius: 11px;--radius-sm: 8px}html,body,#root{height:100%}body{background:var(--canvas);color:var(--text);font-family:Hanken Grotesk,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:13px;line-height:1.5}::selection{background:var(--brand-tint);color:var(--brand-700)}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.01em}h1{font-size:19px;font-weight:700;letter-spacing:-.02em;text-wrap:balance}h2{font-size:15px;font-weight:700;letter-spacing:-.01em;text-wrap:balance}label,.chip,summary{text-wrap:pretty}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}button{font-family:inherit}button:not(:disabled){transition-property:background-color,background,box-shadow,transform,border-color,color,filter;transition-duration:.15s;transition-timing-function:ease-out}button:not(:disabled):active{transform:scale(.985)}input,select,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--faint)}input,select,textarea{transition-property:border-color,box-shadow,background-color;transition-duration:.15s;transition-timing-function:ease-out}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}textarea:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}a{color:var(--brand)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:content-box}table.tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}table.tbl thead th{text-align:left;padding:9px 16px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}table.tbl tbody td{padding:10px 16px;border-bottom:1px solid var(--border)}table.tbl tbody tr{transition:background .12s ease}table.tbl tbody tr.click{cursor:pointer}table.tbl tbody tr.click:hover{background:var(--brand-tint)}table.tbl tbody tr:last-child td{border-bottom:none}.row-action{background:var(--surface);color:var(--brand-700);border:1px solid var(--border-strong);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;opacity:.55;transition-property:background-color,color,border-color,opacity;transition-duration:.14s;transition-timing-function:ease-out}tr.click:hover .row-action{opacity:1;background:var(--brand);color:#fff;border-color:var(--brand)}.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor;opacity:1}.chip:before{box-shadow:0 0 6px currentColor}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.rise{animation:rise .3s cubic-bezier(.2,.7,.3,1) both}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.live-dot{animation:pulseDot 1.8s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
