/* Library module */
.lib-desk { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1rem; align-items: start; }
@media (max-width: 960px) { .lib-desk { grid-template-columns: 1fr; } }
.lib-typeahead { position: relative; }
.lib-typeahead input[type=search] { width: 100%; font-size: 1.05rem; padding: .6rem .75rem; }
.lib-suggest { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm, 6px); box-shadow: var(--shadow); max-height: 320px; overflow: auto; }
.lib-suggest-item { display: block; width: 100%; text-align: left; border: 0; background: none; padding: .5rem .75rem; cursor: pointer; font: inherit; color: var(--text); }
.lib-suggest-item:hover, .lib-suggest-item.active { background: var(--accent-soft); }
.lib-scan { font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; flex: 1; min-width: 0; }
.lib-scan-form .input-group { display: flex; gap: .5rem; }
.lib-borrower-head { display: flex; align-items: center; gap: .75rem; padding: .75rem; border-radius: var(--radius-sm, 6px); background: var(--surface-2); border: 1px solid var(--border); }
.lib-log { margin-top: .6rem; display: flex; flex-direction: column; gap: .35rem; }
.lib-log-row { display: flex; align-items: flex-start; gap: .45rem; padding: .45rem .65rem; border-radius: var(--radius-sm, 6px); font-size: .9rem; border: 1px solid var(--border); background: var(--surface-2); }
.lib-log-row .icon { flex: none; margin-top: .15rem; }
.lib-log-ok { border-color: #bfe3cf; background: #effaf3; }
.lib-log-warn { border-color: #f1d8a8; background: #fff8ea; }
.lib-log-hold { border-color: #d9cdf5; background: #f5f1ff; }
.lib-log-err { border-color: #f3c3c3; background: #fff1f1; color: #9b1c1c; }
.lib-lost { display: inline-block; position: relative; }
.lib-lost > summary { list-style: none; display: inline-flex; }
.lib-lost > summary::-webkit-details-marker { display: none; }
.lib-lost[open] > .lib-lost-form { position: absolute; right: 0; top: 100%; z-index: 25; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm, 6px); box-shadow: var(--shadow); padding: .75rem; display: flex; flex-direction: column; gap: .5rem; min-width: 230px; text-align: left; }
.lib-lost-form label { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.lib-cover { display: inline-block; border-radius: 3px; object-fit: cover; box-shadow: 0 1px 3px rgba(0, 0, 0, .18); vertical-align: middle; }
.lib-cover-blank { display: inline-grid; place-items: center; color: #fff; font-weight: 700; font-size: .75rem; letter-spacing: .05em; border-left: 4px solid rgba(0, 0, 0, .18); }
.lib-title-head { display: flex; gap: 1.2rem; align-items: flex-start; }
@media (max-width: 640px) { .lib-title-head { flex-direction: column; } }
.lib-queue { margin: 0; padding-left: 1.2rem; }
.lib-queue li { padding: .25rem 0; }
.lib-results { display: flex; flex-direction: column; gap: .6rem; }
.lib-result { display: flex; gap: .8rem; align-items: center; padding: .6rem; border: 1px solid var(--border); border-radius: var(--radius-sm, 6px); }
.lib-mini-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.lib-mini-stats a { display: flex; flex-direction: column; padding: .5rem; border-radius: var(--radius-sm, 6px); background: var(--surface-2); color: var(--text); }
.lib-mini-stats a strong { font-size: 1.4rem; line-height: 1.1; }
.lib-mini-stats a span { font-size: .78rem; color: var(--muted); }
.lib-mini-stats a.tone-red strong { color: var(--red); }
@media (max-width: 520px) { .lib-mini-stats { grid-template-columns: repeat(2, 1fr); } }
