html { font-size: 14px; }

/* filter panel */
.filter-panel .form-label { font-size: .8rem; margin-bottom: .15rem; color: var(--bs-secondary-color); }
.checklist .dropdown-menu { max-height: 22rem; overflow-y: auto; min-width: 18rem; }
.checklist .dropdown-toggle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.checklist .dropdown-toggle::after { position: absolute; right: .6rem; top: 50%; }
.checklist label { display: flex; gap: .4rem; padding: .15rem .75rem; cursor: pointer; white-space: nowrap; }
.checklist label:hover { background: var(--bs-tertiary-bg); }
.checklist .count { margin-left: auto; padding-left: 1rem; color: var(--bs-secondary-color); font-variant-numeric: tabular-nums; }

/* grid */
#books { font-size: .9rem; }
#books td.num, #books th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
#books td.mono { font-family: var(--bs-font-monospace); font-size: .85rem; white-space: nowrap; }
#books td.title { min-width: 18rem; }
#books th.no-sort { cursor: default; }
#grid-status { min-height: 1.4rem; }

/* quick-link bar on the Books page */
.quick-bar { display: flex; flex-wrap: wrap; gap: .75rem; }
.quick-bar .btn { display: flex; flex-direction: column; align-items: flex-start; text-align: left; flex: 1 1 14rem; padding: .6rem 1rem; }
.quick-bar .qb-title { font-weight: 600; font-size: 1.05rem; }
.quick-bar .qb-sub { font-size: .8rem; opacity: .85; font-weight: 400; }

/* upload result summary cards */
.stat-row .stat-n { font-size: 1.4rem; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.stat-row .stat-l { font-size: .8rem; color: var(--bs-secondary-color); }
#result td.mono { font-family: var(--bs-font-monospace); font-size: .85rem; white-space: nowrap; }
#result td.num, #result th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* price notice under the top bar, every signed-in page */
.price-notice { background: #fff3cd; color: #664d03; border-bottom: 1px solid #ffe69c; text-align: center; font-weight: 600; font-size: .9rem; padding: .35rem 1rem; margin-bottom: 1rem; letter-spacing: .01em; }

/* "?" help marks and the field guide */
.help-mark { display: inline-flex; align-items: center; justify-content: center; width: 1rem; height: 1rem; padding: 0; margin-left: .15rem; border: 1px solid var(--bs-secondary-color); border-radius: 50%; background: none; color: var(--bs-secondary-color); font-size: .65rem; font-weight: 700; line-height: 1; vertical-align: text-bottom; cursor: help; }
.help-mark:hover, .help-mark:focus { color: var(--bs-primary); border-color: var(--bs-primary); outline: none; }
.tooltip-inner { max-width: 22rem; text-align: left; }
.field-guide th { width: 16rem; font-weight: 600; }
