:root{--bg: #0d1117;--panel: #161b22;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--pos: #3fb950;--neg: #f85149;--accent: #58a6ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}.app{max-width:1100px;margin:0 auto;padding:20px}header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:8px}header h1{font-size:20px;margin:0}.badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{background:var(--panel);border:1px solid var(--border);padding:4px 10px;border-radius:999px;font-size:12px;color:var(--muted)}.badge.live{background:#3d1418;border-color:var(--neg);color:#ffb3ae;font-weight:600}.badge.test{background:#14331c;border-color:var(--pos);color:#b9f6c5;font-weight:600}.meta{display:flex;gap:18px;color:var(--muted);margin:6px 0 16px;flex-wrap:wrap}.meta b{color:var(--text)}section{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:16px}section h2{margin:0 0 10px;font-size:15px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tbody tr:last-child td{border-bottom:none}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:#d29922}.muted{color:var(--muted)}button{cursor:pointer;border-radius:6px;padding:5px 12px;font-size:13px;border:1px solid var(--border);background:#21262d;color:var(--text)}button:disabled{opacity:.5;cursor:default}button.danger{background:#da3633;border-color:#da3633;color:#fff}button.danger:hover:not(:disabled){background:#f85149}button.ghost{background:transparent}button.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.error{background:#3d1418;border:1px solid var(--neg);color:#ffb3ae;padding:10px 14px;border-radius:8px;margin-bottom:14px}.logs{max-height:320px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.logline{display:flex;gap:10px;padding:3px 0;border-bottom:1px solid #1f242c}.logline .ts{color:var(--muted);white-space:nowrap}.logline .lvl{width:48px;text-transform:uppercase;font-size:10px;padding-top:2px}.logline.error .lvl{color:var(--neg)}.logline.warn .lvl{color:#d29922}.logline.trade .lvl{color:var(--pos)}.logline.info .lvl{color:var(--accent)}.logline .msg{word-break:break-word}footer{text-align:center;padding:16px 0;font-size:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px 24px;display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0;font-size:20px}.login-card p{margin:-8px 0 6px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.login-card input{background:#0d1117;border:1px solid var(--border);color:var(--text);border-radius:6px;padding:9px 11px;font-size:14px;outline:none}.login-card input:focus{border-color:var(--accent)}.login-card button{margin-top:6px;background:var(--accent);border-color:var(--accent);color:#07101f;font-weight:600;padding:10px;font-size:14px}.login-card button:hover:not(:disabled){filter:brightness(1.08)}body{overflow-x:hidden}@media (max-width: 820px){.app{padding:14px}header h1{font-size:18px}section{padding:12px}}@media (max-width: 640px){.app{padding:10px}header{flex-direction:column;align-items:stretch;gap:10px}.badges{width:100%}.badges button{flex:1}.meta{flex-direction:column;gap:6px}section{padding:12px 12px 6px}section h2{font-size:14px}.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap th,.table-wrap td,.table-wrap tr{display:block}.table-wrap thead{display:none}.table-wrap tr{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:4px 12px;background:#0d1117}.table-wrap td{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:right;padding:8px 0;border-bottom:1px solid #1f242c}.table-wrap tr td:last-child{border-bottom:none}.table-wrap td:before{content:attr(data-label);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em;text-align:left}.table-wrap td[data-label=""]:before{content:""}.table-wrap td[data-label=""]{padding-top:10px}.table-wrap td[data-label=""] button{width:100%}.logline{flex-wrap:wrap;gap:4px 8px}.logs{max-height:240px}}
