/* ── Layout ───────────────────────────────────────────────────────────── */
body { background: #f4f6f9; }

.tab-pane.d-none { display: none !important; }

/* ── Typography ───────────────────────────────────────────────────────── */
.font-mono { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; }

.required-label::after {
  content: ' *';
  color: #dc3545;
}

/* ── JSON textareas ───────────────────────────────────────────────────── */
.json-field {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12.5px;
  min-height: 100px;
  resize: vertical;
}

/* ── Query result markdown ────────────────────────────────────────────── */
.markdown-body { line-height: 1.7; }
.markdown-body p { margin-bottom: 0.75rem; }
.markdown-body p:last-child { margin-bottom: 0; }
.markdown-body ul, .markdown-body ol { padding-left: 1.5rem; margin-bottom: 0.75rem; }
.markdown-body code {
  background: #f0f0f0;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 0.875em;
}
.markdown-body pre {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 12px 16px;
  overflow-x: auto;
}
.markdown-body pre code { background: none; padding: 0; }
.markdown-body h1, .markdown-body h2, .markdown-body h3 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.markdown-body table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 0.75rem;
}
.markdown-body th, .markdown-body td {
  border: 1px solid #dee2e6;
  padding: 6px 12px;
}
.markdown-body th { background: #f8f9fa; font-weight: 600; }

/* ── Cards ────────────────────────────────────────────────────────────── */
.card { border: none; }

/* ── Table ────────────────────────────────────────────────────────────── */
.table td, .table th { vertical-align: middle; }
