/* nl-panel.css — NL panel component, adapts to host page CSS vars */
.nl-panel-container {
  --nlp-surface:  var(--surface, var(--color-surface, var(--bg-secondary, #ffffff)));
  --nlp-surface2: var(--surface2, var(--color-surface-2, var(--bg-tertiary, #f8fafc)));
  --nlp-border:   var(--border, var(--color-border, var(--border-color, #e2e8f0)));
  --nlp-text:     var(--text, var(--color-text, var(--text-primary, #1f2328)));
  --nlp-muted:    var(--muted, var(--color-text-3, var(--text-tertiary, #64748b)));
  --nlp-accent:   var(--accent, var(--color-primary, var(--accent-blue, #2563eb)));
  background: var(--nlp-surface);
  border: 1px solid var(--nlp-border);
  border-radius: 8px;
  padding: 14px 16px;
  font-family: 'Figtree', -apple-system, sans-serif;
  font-size: 13px;
  line-height: 1.55;
}
.nlp-brief {
  color: var(--nlp-text);
  margin-bottom: 12px;
}
.nlp-brief p { margin: 0 0 6px; }
.nlp-brief p:last-child { margin: 0; }
.nlp-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--nlp-muted);
  margin-bottom: 8px;
}
.nlp-meta {
  font-size: 11px;
  color: var(--nlp-muted);
  margin-bottom: 10px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.nlp-meta span { display: inline-flex; align-items: center; gap: 3px; }
.nlp-divider {
  border: none;
  border-top: 1px solid var(--nlp-border);
  margin: 12px 0;
}
.nlp-query-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.nlp-input {
  flex: 1;
  border: 1px solid var(--nlp-border);
  border-radius: 6px;
  padding: 7px 10px;
  font-size: 13px;
  font-family: inherit;
  background: var(--nlp-surface2);
  color: var(--nlp-text);
  outline: none;
}
.nlp-input:focus { border-color: var(--nlp-accent); }
.nlp-btn {
  background: var(--nlp-accent);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 7px 14px;
  font-size: 13px;
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.nlp-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.nlp-btn:hover:not(:disabled) { opacity: 0.88; }
.nlp-answer {
  margin-top: 10px;
  color: var(--nlp-text);
  background: var(--nlp-surface2);
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-wrap;
}
.nlp-error {
  margin-top: 8px;
  color: #dc2626;
  font-size: 12px;
}
.nlp-spinner {
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid var(--nlp-border);
  border-top-color: var(--nlp-accent);
  border-radius: 50%;
  animation: nlp-spin 0.7s linear infinite;
  vertical-align: middle;
}
@keyframes nlp-spin { to { transform: rotate(360deg); } }

/* Formatted summary sections (** header ** pattern) */
.nlp-sum-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--nlp-text);
  margin-bottom: 10px;
  letter-spacing: 0.01em;
}
.nlp-sum-section {
  padding: 8px 0 8px 10px;
  border-left: 2px solid var(--nlp-border);
  margin-bottom: 8px;
}
.nlp-sum-section:last-child { margin-bottom: 0; }
.nlp-sum-hd {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--nlp-accent);
  margin-bottom: 3px;
}
.nlp-sum-body {
  color: var(--nlp-text);
  font-size: 13px;
  line-height: 1.6;
}

/* Selected row highlight (used by all pages) */
.nlp-selected { background: rgba(37,99,235,0.07) !important; }
