:root { /* Light theme */ --bg-color: #f8fafc; --text-color: #0f172a; --text-muted: #475569; --panel-bg: #ffffff; --border-color: #e2e8f0; --header-bg: #f1f5f9; --table-th-bg: #f1f5f9; --table-th-text: #0f172a; --table-row-hover: #e0e7ff; --table-stripe: #f8fafc; --cell-hover: #c7d2fe; --cell-hover-text: #1e1b4b; --cell-selected: #6366f1; --cell-selected-text: #ffffff; --metric-good: #15803d; --metric-ok: #b45309; --metric-bad: #be123c; } @media (prefers-color-scheme: dark) { :root { /* Dark theme */ --bg-color: #0f172a; --text-color: #e2e8f0; --text-muted: #94a3b8; --panel-bg: #1e293b; --border-color: #334155; --header-bg: #1e293b; --table-th-bg: #0f172a; --table-th-text: #e2e8f0; --table-row-hover: #312e81; --table-stripe: #1e293b; --cell-hover: #3730a3; --cell-hover-text: #e0e7ff; --cell-selected: #4f46e5; --cell-selected-text: #ffffff; --metric-good: #4ade80; --metric-ok: #fbbf24; --metric-bad: #fb7185; } } * { box-sizing: border-box; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background-color: var(--bg-color); color: var(--text-color); margin: 0; padding: 0; line-height: 1.5; } .main-container { max-width: 1400px; margin: 0 auto; padding: 24px; } header { margin-bottom: 24px; } header h1 { margin: 0 0 8px 0; font-size: 1.5rem; font-weight: 700; } header p { margin: 0; color: var(--text-muted); font-size: 0.95rem; } .controls { margin-bottom: 24px; background-color: var(--panel-bg); padding: 16px; border-radius: 8px; border: 1px solid var(--border-color); display: flex; align-items: center; gap: 12px; } .controls label { font-weight: 600; font-size: 0.95rem; } select { padding: 8px 12px; border-radius: 6px; border: 1px solid var(--border-color); background-color: var(--bg-color); color: var(--text-color); font-family: inherit; font-size: 0.95rem; outline: none; min-width: 300px; } select:focus { border-color: var(--cell-selected); box-shadow: 0 0 0 2px var(--table-row-hover); } .workspace { display: flex; gap: 24px; align-items: flex-start; } .panel { background-color: var(--panel-bg); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; } .left-panel { flex: 1; min-width: 600px; /* Not scrollable, fits contents */ } .right-panel { flex: 1; min-width: 400px; height: 700px; /* fixed height for scrollability */ } .table-container { width: 100%; } table { width: 100%; border-collapse: collapse; font-size: 0.875rem; /* 14px */ } thead th { background-color: var(--table-th-bg); color: var(--table-th-text); font-weight: 600; padding: 10px 14px; border-bottom: 2px solid var(--border-color); text-align: center; } thead th:first-child { text-align: left; } tbody tr { border-bottom: 1px solid var(--border-color); transition: background-color 0.15s; } tbody tr:nth-child(even) { background-color: var(--table-stripe); } tbody tr:hover { background-color: var(--table-row-hover); } tfoot tr { background-color: var(--table-th-bg); font-weight: 600; border-top: 2px solid var(--border-color); } td { padding: 8px 14px; text-align: center; font-variant-numeric: tabular-nums; } td:first-child { text-align: left; font-weight: 500; } .cell-clickable { cursor: pointer; color: var(--text-muted); transition: all 0.15s ease; } .cell-clickable:hover { background-color: var(--cell-hover) !important; color: var(--cell-hover-text) !important; font-weight: 700; box-shadow: inset 0 0 0 2px var(--cell-selected); } .cell-selected { background-color: var(--cell-selected) !important; color: var(--cell-selected-text) !important; font-weight: 700; box-shadow: inset 0 0 0 2px var(--cell-selected); } #instances-header { padding: 16px; border-bottom: 1px solid var(--border-color); background-color: var(--header-bg); } #instances-header h2 { margin: 0; font-size: 1.1rem; font-weight: 600; color: var(--text-color); } .instances-container { flex: 1; overflow-y: auto; padding: 16px; } .instance-item { padding: 12px; border-bottom: 1px solid var(--border-color); font-size: 0.875rem; line-height: 1.5; white-space: pre-wrap; word-wrap: break-word; } .instance-item:last-child { border-bottom: none; } .instances-empty { color: var(--text-muted); font-style: italic; padding: 12px; text-align: center; } /* Responsive */ @media (max-width: 1024px) { .workspace { flex-direction: column; } .left-panel, .right-panel { width: 100%; min-width: 0; } }