/* Kestrel comps — shared screen styles (sources, documents, debugger, insights, charts) */

/* shared bits (chart heads, list heads) */
  .pulse-card-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
  .pulse-bars { display: flex; align-items: flex-end; gap: 8px; height: 124px; }
  .pulse-barcell { flex: 1; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-end; height: 100%; gap: 5px; }
  .pulse-barlbl { font-family: var(--font-mono); font-size: var(--text-2xs); color: var(--text-tertiary); text-align: center; }
  .pulse-cache { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border-hairline); font-size: var(--text-sm); color: var(--text-secondary); }
  .pulse-list-head { display: flex; align-items: baseline; justify-content: space-between; }
  .qa-hint { font-size: var(--text-xs); color: var(--text-tertiary); }

  /* ── sources list ──────────────────────────────────────── */
  .src-toolbar { display: flex; gap: 6px; align-items: center; }
  .src-search { width: 240px; height: var(--control-h-sm); font-size: var(--text-sm); }
  .src-url { display: block; font-size: var(--text-2xs); color: var(--text-tertiary); max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .src-profile { font-size: var(--text-sm); color: var(--text-secondary); }
  .src-feed { font-size: var(--text-xs); color: var(--ok-text); }
  .src-feed--no { color: var(--text-disabled); }
  .src-next { font-size: var(--text-xs); color: var(--text-tertiary); }

  /* ── source detail ─────────────────────────────────────── */
  .srcdet-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
  .srcdet-cols { display: grid; grid-template-columns: 3fr 2fr; gap: 12px; margin-top: 12px; flex: 1; min-height: 0; align-items: start; }
  .srcdet-card-head { display: flex; align-items: baseline; justify-content: space-between; padding: 14px 16px 10px; }
  .srcdet-runrow { display: flex; align-items: center; gap: 12px; padding: 9px 16px; border-top: 1px solid var(--border-hairline); font-size: var(--text-sm); }
  .srcdet-runrow .k-time { flex: none; width: 118px; }
  .srcdet-runtxt { flex: 1; min-width: 0; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .srcdet-rundur { font-size: var(--text-2xs); color: var(--text-tertiary); }
  .srcdet-side { display: flex; flex-direction: column; gap: 12px; }
  .srcdet-docrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 16px; border-top: 1px solid var(--border-hairline); }
  .srcdet-doctitle { font-size: var(--text-sm); font-weight: var(--weight-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .srcdet-docmeta { display: flex; align-items: center; gap: 8px; flex: none; font-size: var(--text-2xs); color: var(--text-tertiary); }
  .srcdet-config { padding-bottom: 6px; }
  .srcdet-dl { display: grid; grid-template-columns: 92px 1fr; gap: 7px 12px; margin: 0; padding: 4px 16px 12px; font-size: var(--text-sm); }
  .srcdet-dl dt { color: var(--text-tertiary); }
  .srcdet-dl dd { margin: 0; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* ── documents ─────────────────────────────────────────── */
  .doc-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 430px; font-weight: var(--weight-medium); }
  .doc-src { font-size: var(--text-sm); color: var(--text-secondary); }
  .doc-score { font-family: var(--font-mono); font-size: var(--text-sm); color: var(--text-tertiary); }
  .doc-score.is-high { color: var(--text-primary); font-weight: var(--weight-semibold); }
  .doc-langchip { font-size: var(--text-xs); color: var(--text-secondary); background: var(--bg-inset); border: 1px solid var(--border-hairline); border-radius: var(--r-sm); padding: 2px 7px; }

  .docdet-cols { display: grid; grid-template-columns: 3fr 2fr; gap: 12px; align-items: start; }
  .docdet-main, .docdet-side { display: flex; flex-direction: column; gap: 12px; }
  .docdet-block { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
  .docdet-clsgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
  .docdet-clsgrid > div { display: flex; flex-direction: column; gap: 2px; }
  .docdet-k { font-size: var(--text-xs); color: var(--text-tertiary); }
  .docdet-v { font-size: var(--text-base); font-weight: var(--weight-medium); }
  .docdet-reason { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--border-hairline); padding-top: 12px; }
  .docdet-reason p { margin: 0; font-size: var(--text-sm); line-height: var(--lh-sm); color: var(--text-secondary); }
  .docdet-summary { margin: 0; font-size: var(--text-md); line-height: 1.8; }
  .docdet-text { margin: 0; font-size: var(--text-sm); line-height: 1.8; color: var(--text-secondary); }
  .docdet-hookrow { display: flex; align-items: center; gap: 10px; }
  .docdet-hookmeta { font-size: var(--text-xs); color: var(--text-tertiary); }
  .docdet-filerow { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 10px; background: var(--bg-inset); border: 1px solid var(--border-hairline); border-radius: var(--r-sm); }
  .docdet-filename { font-size: var(--text-xs); }
  .docdet-filesize { font-size: var(--text-2xs); color: var(--text-tertiary); }

  /* ── debugger ──────────────────────────────────────────── */
  .dbg-inputrow { display: flex; gap: 8px; }
  .dbg-input { flex: 1; }
  .dbg-trace { margin-top: 20px; display: flex; flex-direction: column; }
  .dbg-step { display: flex; gap: 14px; }
  .dbg-step-rail { display: flex; flex-direction: column; align-items: center; padding-top: 5px; }
  .dbg-step-rail .k-dot { flex: none; }
  .dbg-step-line { width: 1px; flex: 1; background: var(--border-default); margin: 4px 0; }
  .dbg-step-body { flex: 1; min-width: 0; padding-bottom: 18px; display: flex; flex-direction: column; gap: 6px; }
  .dbg-step-head { display: flex; align-items: center; gap: 12px; }
  .dbg-step-name { font-size: var(--text-md); font-weight: var(--weight-semibold); }
  .dbg-step-dur { font-size: var(--text-xs); color: var(--text-tertiary); }
  .dbg-step-dur.is-live { color: var(--proc-text); }
  .dbg-line { display: flex; gap: 12px; padding: 5px 12px; background: var(--bg-inset); border: 1px solid var(--border-hairline); border-radius: var(--r-sm); }
  .dbg-step.is-active .dbg-line:last-child { border-color: var(--proc-border); background: var(--proc-bg); }
  .dbg-ts { font-size: var(--text-2xs); color: var(--text-tertiary); flex: none; padding-top: 2px; }
  .dbg-msg { font-size: var(--text-xs); color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dbg-note { font-size: var(--text-sm); color: var(--text-tertiary); font-style: normal; }
  .dbg-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--border-hairline); padding-top: 12px; font-size: var(--text-sm); color: var(--text-secondary); }

  /* ── insights ──────────────────────────────────────────── */
  .ins-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
  .ins-mid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
  .ins-legend { display: flex; gap: 14px; font-size: var(--text-2xs); color: var(--text-tertiary); }
  .ins-legend i { font-style: normal; display: inline-flex; align-items: center; gap: 5px; }
  .ins-sw { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
  .ins-sw--free { background: var(--n-200); }
  .ins-sw--paid { background: var(--rust-500); }
  .ins-barstack { display: flex; flex-direction: column; justify-content: flex-end; gap: 1px; height: 100%; }
  .ins-bar { border-radius: 2px; min-height: 2px; }
  .ins-bar--free { background: var(--n-200); }
  .ins-bar--paid { background: var(--rust-500); }
  .ins-modeltbl { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
  .ins-modeltbl td { padding: 7px 8px 7px 0; border-bottom: 1px solid var(--border-hairline); }
  .ins-modeltbl tr:last-child td { border-bottom: 0; }
  .ins-model { color: var(--text-tertiary); }
  .ins-sharebar { height: 6px; border-radius: var(--r-full); background: var(--n-100); overflow: hidden; }
  .ins-sharebar span { display: block; height: 100%; background: var(--rust-300); border-radius: var(--r-full); }
