/* 合同知识库（可剥离插件，配合 contract-kb.js）。只用 styles.css 里的设计变量。 */
.ckb-tabs { display: flex; gap: var(--sp-2); margin: 0 0 var(--sp-4); border-bottom: 1px solid var(--border); }
.ckb-tab { padding: 10px 14px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--text-2); font-size: 14px; cursor: pointer; }
.ckb-tab.is-on { color: var(--primary); border-bottom-color: var(--primary); font-weight: 600; }
.ckb-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.ckb-cats { display: flex; flex-direction: column; gap: 2px; padding: var(--sp-2); border: 1px solid var(--border); border-radius: var(--r-lg, 10px); background: var(--surface); position: sticky; top: var(--sp-4); }
.ckb-cats[hidden] { display: none; }
.ckb-layout:has(.ckb-cats[hidden]) { grid-template-columns: minmax(0, 1fr); }
.ckb-cat { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; border: 0; border-radius: 6px; background: none; color: var(--text-2); font-size: 13px; text-align: left; cursor: pointer; }
.ckb-cat:hover { background: var(--surface-2); }
.ckb-cat.is-on { background: var(--primary-soft); color: var(--primary); font-weight: 600; }
.ckb-cat-n { color: var(--text-3); font-size: 12px; }
.ckb-cat-desc { margin-bottom: var(--sp-3); }
.ckb-main { min-width: 0; }
.ckb-main .filter-row { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; margin-bottom: var(--sp-3); }
.ckb-main .filter-row .input[type="search"] { width: 260px; max-width: 100%; }
.ckb-main .filter-row select.input { width: auto; }
.ckb-total { margin-left: auto; }
.ckb-title { font-weight: 600; text-align: left; border: 0; background: none; padding: 0; color: inherit; font-size: 14px; cursor: pointer; }
.ckb-title:hover { color: var(--primary); }
.ckb-table td .small { margin-top: 3px; }
.ckb-detail-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: var(--sp-3); }
.ckb-h { margin: var(--sp-5) 0 var(--sp-2); padding-left: 8px; border-left: 3px solid var(--primary); font-size: 15px; font-weight: 600; }
.ckb-kv { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.ckb-kv-row { display: grid; grid-template-columns: 120px 1fr; border-bottom: 1px solid var(--border); }
.ckb-kv-row.wide { grid-column: 1 / -1; }
.ckb-kv-k { padding: 10px 14px; background: var(--surface-2); color: var(--text-3); font-size: 13px; }
.ckb-kv-v { padding: 10px 14px; min-width: 0; overflow-wrap: anywhere; }
.ckb-text { white-space: pre-wrap; line-height: 1.7; margin: 0; }
.ckb-content { padding: var(--sp-3) var(--sp-4); border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); max-height: 480px; overflow: auto; }
.ckb-f-content { font-family: inherit; line-height: 1.6; }
.ckb-case { border: 1px dashed var(--border); border-radius: 8px; padding: var(--sp-3); margin: 0; }
.ckb-case legend { padding: 0 6px; color: var(--text-3); font-size: 13px; }
.ckb-history-detail { margin-top: var(--sp-4); }
.ckb-ask-q { width: 100%; }
.ckb-ask-out { margin-top: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-3); }
.ckb-hit { padding: var(--sp-3) var(--sp-4); border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.ckb-hit-head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.ckb-hit-score { margin-left: auto; }
.ckb-hit .ckb-text { margin: 6px 0; }
.ckb-hit-warn { margin-top: 6px; color: var(--warning); }
@media (max-width: 860px) {
  .ckb-layout { grid-template-columns: minmax(0, 1fr); }
  .ckb-cats { position: static; flex-direction: row; flex-wrap: wrap; }
  .ckb-kv { grid-template-columns: 1fr; }
  .ckb-kv-row { grid-template-columns: 104px 1fr; }
}
