/* knowledge.css — Knowledge Base module styles. Reuses frame tokens. */

.kb-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kb-dim { color: var(--text-muted); font-size: 12px; }
.kb-row { cursor: pointer; }
.kb-row:hover td { background: var(--gold-soft); }
.kb-note { font-size: 12px; color: var(--text-muted); margin-top: 14px; }

.kb-badge { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 9px; border-radius: 20px; border: 1px solid transparent; text-transform: capitalize; }
.kb-ratified { background: #e7f2ec; color: #2e7d5b; border-color: #c9e3d5; }
.kb-contested { background: #f7e8e8; color: #b23b3b; border-color: #eccece; }
.kb-candidate { background: var(--surface-2); color: var(--text-muted); border-color: var(--border); }

.kb-new { margin: 12px 0; }
.kb-new-grid { display: grid; grid-template-columns: 2fr 1.3fr 1.3fr auto auto; gap: 10px; margin-top: 10px; }
@media (max-width: 860px) { .kb-new-grid { grid-template-columns: 1fr; } }
.kb-new-grid input { height: var(--h-input); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0 12px; font-size: 13px; background: var(--surface); color: var(--text); }

.kb-meta { display: grid; grid-template-columns: 2fr 1fr 1.4fr 1fr; gap: 12px; }
@media (max-width: 760px) { .kb-meta { grid-template-columns: 1fr 1fr; } }
.kb-field { display: flex; flex-direction: column; gap: 4px; }
.kb-field span { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); font-weight: 600; }
.kb-field input, .kb-field select { height: var(--h-input); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0 10px; font-size: 13px; background: var(--surface); color: var(--text); }
.kb-field input:focus, .kb-field select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-soft); }
.kb-field input:disabled, .kb-field select:disabled { background: var(--surface-2); color: var(--text-muted); }

.kb-in { width: 100%; height: 32px; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 0 8px; font-size: 13px; background: transparent; color: var(--text); }
.kb-in:hover:not(:disabled) { border-color: var(--border); background: var(--surface); }
.kb-in:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px var(--gold-soft); background: var(--surface); }
.kb-in:disabled { color: var(--text-muted); }
.kb-addrow td { background: var(--surface-2); }
.kb-del { width: 26px; height: 26px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--surface); color: var(--danger-2); font-size: 16px; line-height: 1; cursor: pointer; }
.kb-del:hover { background: #fdecec; border-color: #f0c9c9; }
