.printBookModes,
.bookPickerActions{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.printBookModes{ justify-content: center; margin: 16px 0; }
.printBookModes a,
.bookPickerActions button{
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #b7c9df;
    border-radius: 6px;
    background: white;
    color: #17487e;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.printBookModes a[aria-current],
.bookPickerActions button[type="submit"]{
    border-color: #205d9e;
    background: #205d9e;
    color: white;
}
.printBookModes a:hover,
.bookPickerActions button:hover:not(:disabled){ box-shadow: inset 0 0 0 2px #b7c9df; }
.bookPickerActions button:disabled{ opacity: .55; cursor: default; }
.bookPicker{ max-width: 52rem; }
.bookPicker h1, .bookPicker > p{ text-align: center; }
.bookPickerError{ color: #8d2020; font-weight: 600; }

.bookPickerControls{
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 8px 0 12px;
    background: white;
}
.bookPickerSearch{ display: grid; gap: 4px; margin: 0 0 8px; }
.bookPickerSearch input{
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 8px;
    border: 1px solid #9faec1;
    border-radius: 6px;
    font: inherit;
}
.bookPickerActions span{ margin-inline-end: auto; }
.bookPicker [hidden]{ display: none; }
.bookFolder{
    margin: 8px 0;
    border: 1px solid #ced9e5;
    border-radius: 8px;
}
.bookFolder summary{
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 12px;
    background: #edf5ff;
    border-radius: 7px;
    font-weight: 600;
    cursor: pointer;
    overflow-wrap: anywhere;
}
.bookFolderCount{ margin-inline-start: 6px; color: #42556b; font-weight: normal; }
.bookFolderSongs{
    max-height: min(55vh, 32rem);
    overflow-y: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}
.bookFolderSongs li + li{ border-top: 1px solid #e2e9f2; }
.bookSong{
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    min-height: 44px;
    gap: 8px;
    margin: 0;
    padding: 6px 12px;
    overflow-wrap: anywhere;
}
.bookSong:hover,
.bookSong:focus-within{ background: #edf5ff; }
.bookSong input[type="checkbox"]{
    position: static;
    opacity: 1;
    width: 1.25rem;
    height: 1.25rem;
    margin: 0;
}
.bookSong small{ display: block; color: #42556b; }
.bookSongStatus{ font-style: italic; }

@media (max-width: 520px){
    .bookSong{ grid-template-columns: auto minmax(0, 1fr); }
    .bookSongStatus{ grid-column: 2; }
}
