/* silmera-books.css -- the Books card of a dossier (silmera-books.js, 2026-10-04).
   Only bk-* classes; colours from the tokens of silmera.css (light and dark). */
.bk-card { gap: 10px; margin-top: 12px; }
.bk-card h3 { margin: 0; font-size: 14px; }
.bk-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bk-tabs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.bk-sep { width: 1px; align-self: stretch; background: var(--line); margin: 0 6px; }
.bk-list { display: grid; gap: 8px; }
.bk-item { border: 1px solid var(--line); border-left-width: 3px; border-radius: 8px; padding: 10px 12px; display: grid; gap: 6px; min-width: 0; }
.bk-item.pass { border-left-color: var(--ok); }
.bk-item.fail, .bk-item.unbound { border-left-color: var(--bad); }
.bk-item.unmeasured { border-left-color: var(--abs); }
.bk-item.rev { border-left-color: var(--rev); }
.bk-line { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; min-width: 0; overflow-wrap: anywhere; }
.bk-sides { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; color: var(--ink2); }
.bk-delta { font-family: var(--mono); font-size: 12.5px; color: var(--bad-ink); }
.bk-pill { display: inline-block; font-size: 11.5px; line-height: 18px; padding: 0 8px; border-radius: 9px; white-space: nowrap; background: var(--c-f1efe9); color: var(--ink2); }
.bk-pill.pass { background: var(--c-ecfdf3); color: var(--ok-ink); }
.bk-pill.fail, .bk-pill.unbound { background: var(--c-fef2f2); color: var(--bad-ink); }
.bk-pill.unmeasured { background: var(--c-f1efe9); color: var(--ink3); }
.bk-rows { display: grid; gap: 6px; min-width: 0; overflow-x: auto; }
.bk-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.bk-table th { text-align: left; font-weight: 500; color: var(--ink3); border-bottom: 1px solid var(--line); padding: 4px 6px; }
.bk-table td { border-bottom: 1px solid var(--line-soft); padding: 4px 6px; vertical-align: top; overflow-wrap: anywhere; }
.bk-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bk-sheet tr.differs td { background: rgba(var(--bad-rgb), 0.05); }
.bk-sheet tr.bk-sub td { background: var(--panel); }
.bk-ask { display: flex; gap: 8px; flex-wrap: wrap; }
.bk-ask input { flex: 1 1 280px; min-width: 0; font: inherit; font-size: 14px; height: 38px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); color: inherit; }
.bk-fig { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.bk-fig b { font-size: 18px; }
.bk-confirm { border-color: rgba(var(--rev-rgb), 0.45); gap: 8px; }
.bk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.bk-unmapped { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.bk-unmapped select { font: inherit; font-size: 13px; height: 32px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); color: inherit; max-width: 100%; }
.bk-ul { margin: 0; padding-left: 20px; font-size: 12.5px; display: grid; gap: 2px; }
.bk-warn summary { cursor: pointer; font-size: 12.5px; color: var(--ink3); }
