.source-filter { border-bottom: 1px solid #dce4df; padding-bottom: 10px; }
.source-list { display: grid; gap: 12px; padding: 12px 0; }
#source-results { display: grid; gap: 14px; border-top: 1px solid #dce4df; padding-top: 14px; }
#source-reports { display: grid; gap: 7px; list-style: none; padding: 0; margin: 0; font-size: 13px; }
#source-reports li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; }
#source-reports span { color: #63726a; }
.cover-options { display: flex; flex-wrap: wrap; gap: 10px; }
.cover-option { padding: 5px; width: 76px; height: 108px; border: 2px solid #dce4df; background: #fff; }
.cover-option:hover,.cover-option[aria-pressed=true] { border-color: #167254; background: #edf5f0; }
.cover-option img { width: 100%; height: 100%; object-fit: contain; }
#source-results select { min-width: 0; max-width: 100%; }
.scanner-view { overflow: hidden; background: #17241d; }
.scanner-view video { transform-origin: center; }
.search-modes { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #b9cbc0; border-radius: 6px; padding: 0; margin: 0; overflow: hidden; }
.search-modes label { position: relative; text-align: center; padding: 12px; cursor: pointer; margin: 0; }
.search-modes label:has(input:checked) { background: #167254; color: white; }
.search-modes label:has(input:focus-visible) { outline: 2px solid #263e32; outline-offset: -3px; }
.search-modes input { position: absolute; opacity: 0; width: 1px; height: 1px; }
#title-search-fields { display: none; gap: 14px; }
#book-form:has([name=search_mode][value=title]:checked) #title-search-fields { display: grid; }
#book-form:has([name=search_mode][value=title]:checked) :is(#isbn-label,#isbn,#scan-button) { display: none; }
#book-form:has([name=search_mode][value=title]:checked) .isbn-search { grid-template-columns: 1fr; }
.title-results { display: grid; gap: 0; border-top: 1px solid #dce4df; }
.title-result { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 12px; align-items: center; width: 100%; padding: 14px 0; color: #23342a; background: transparent; border: 0; border-bottom: 1px solid #dce4df; border-radius: 0; text-align: left; }
.title-result:hover { background: #e7f2ec; }
.title-result img { width: 56px; height: 82px; object-fit: contain; }
.title-result>span { display: grid; gap: 5px; min-width: 0; overflow-wrap: anywhere; }
.title-result strong { font-size: 16px; }
.title-result span span { color: #5c7063; font-size: 13px; font-weight: 400; }
.title-pagination { position: static; inset: auto; z-index: auto; background: transparent; border: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; }
.title-pagination button { min-width: 44px; min-height: 44px; padding: 8px; }
