/* Book Preview only: avoids global training styles */
#bookPreviewModal{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,35px);background:rgba(12,22,42,.57);box-sizing:border-box}
#bookPreviewModal.is-open{display:flex}
#bookPreviewModal *{box-sizing:border-box}
#bookPreviewModal .book-preview-dialog{display:flex;flex-direction:column;width:min(1500px,94vw);height:92dvh;max-height:1000px;min-width:0;min-height:0;overflow:hidden;border:1px solid #d8e1ee;border-radius:16px;background:#fff;box-shadow:0 24px 75px rgba(0,0,0,.35)}
#bookPreviewModal.is-maximized{padding:0;background:#fff}
#bookPreviewModal.is-maximized .book-preview-dialog{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}
#bookPreviewModal .book-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 18px;background:#203866;color:#fff;flex-shrink:0}
#bookPreviewModal .book-preview-header h3{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:17px}
#bookPreviewModal .book-preview-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
#bookPreviewModal .book-preview-actions button,#bookPreviewModal .book-preview-download{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;min-width:39px;padding:8px 11px;border:1px solid #dbe3f0;border-radius:9px;background:#fff;color:#203866;cursor:pointer;text-decoration:none;font:600 14px/1.2 inherit}
#bookPreviewModal .book-preview-actions button:hover,#bookPreviewModal .book-preview-download:hover{filter:brightness(.94)}
#bookPreviewModal .book-preview-close{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important}
#bookPreviewModal .pdf-toolbar{display:flex;align-items:center;gap:7px;min-height:58px;padding:8px 14px;overflow-x:auto;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0}
#bookPreviewModal .pdf-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:6px;border:0;border-radius:8px;background:transparent;color:#203866;cursor:pointer;flex-shrink:0}
#bookPreviewModal .pdf-toolbar button:hover{background:#eaf1ff}
#bookPreviewModal .pdf-toolbar button:disabled{opacity:.35;cursor:default}
#bookPreviewModal svg.lucide{width:19px;height:19px;stroke-width:2;flex-shrink:0}
#bookPreviewModal .pdf-toolbar-space{flex:1;min-width:5px}
#bookPreviewModal .pdf-separator{width:1px;height:25px;background:#dbe3f0;flex-shrink:0;margin:0 4px}
#bookPreviewModal .pdf-zoom-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#bookPreviewModal #pdfZoomPercent{width:83px;height:36px;padding:4px 7px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#203866;font-weight:700;cursor:pointer;flex-shrink:0}
#bookPreviewModal #pdfPageNumber{width:54px;height:36px;padding:3px;border:1px solid #cbd5e1;border-radius:8px;text-align:center;color:#203866;flex-shrink:0}
#bookPreviewModal .pdf-page-total{white-space:nowrap;color:#203866}
#bookPreviewModal .pdf-viewer-layout{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}
#bookPreviewModal .pdf-sidebar{display:none;flex:0 0 190px;flex-direction:column;min-height:0;background:#f8fafc;border-right:1px solid #e2e8f0}
#bookPreviewModal .pdf-viewer-layout.sidebar-open .pdf-sidebar{display:flex}
#bookPreviewModal .pdf-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid #e2e8f0}
#bookPreviewModal #pdfCloseSidebar{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer}
#bookPreviewModal .pdf-thumbnails{overflow:auto;flex:1;padding:10px}
#bookPreviewModal .pdf-thumbnail{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:8px;margin-bottom:10px;border:2px solid transparent;border-radius:8px;background:transparent;cursor:pointer}
#bookPreviewModal .pdf-thumbnail.active{background:#dbeafe;border-color:#315ba8}
#bookPreviewModal .pdf-thumbnail canvas{max-width:100%;height:auto;box-shadow:0 2px 8px #0002}
#bookPreviewModal .pdf-viewer{flex:1;min-width:0;min-height:0;overflow:auto;background:#e8edf4;scrollbar-gutter:stable}
#bookPreviewModal .pdf-pages{display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px;min-width:100%;width:max-content}
#bookPreviewModal .pdf-page{display:block;flex-shrink:0;background:#fff;box-shadow:0 2px 12px #0002}
#bookPreviewModal .pdf-status:not(:empty){padding:8px;text-align:center;color:#203866;background:#f8fafc}
#bookPreviewModal button:focus-visible,#bookPreviewModal a:focus-visible,#bookPreviewModal input:focus-visible,#bookPreviewModal select:focus-visible{outline:3px solid #7aa8f7;outline-offset:2px}
@media(max-width:600px){#bookPreviewModal{padding:8px}#bookPreviewModal .book-preview-dialog{width:100%;height:95dvh}#bookPreviewModal .book-preview-header{padding:8px;min-height:54px}#bookPreviewModal .book-preview-header h3{font-size:14px}#bookPreviewModal .book-preview-actions{gap:4px}#bookPreviewModal .book-preview-download{font-size:12px;padding:7px!important}#bookPreviewModal .pdf-toolbar{padding:5px;gap:3px}#bookPreviewModal .pdf-sidebar{flex-basis:120px}#bookPreviewModal .pdf-pages{padding:6px}}

/* Force fullscreen to override older modal sizing rules, including legacy !important CSS. */
#bookPreviewModal.is-maximized { padding: 0 !important; }
#bookPreviewModal.is-maximized .book-preview-dialog {
  width: 100vw !important; max-width: none !important;
  height: 100dvh !important; max-height: none !important;
  margin: 0 !important; border: 0 !important; border-radius: 0 !important;
}
#bookPreviewModal:not(.is-maximized) .book-preview-dialog {
  width: min(1500px, 94vw) !important;
  height: 92dvh !important; max-height: calc(100dvh - 24px) !important;
}

#bookPreviewModal #pdfZoomSelect {
    width: 100px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #f8fafc;
    color: #203866;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}

#bookPreviewModal #pdfZoomSelect:focus {
    outline: 2px solid #7aa8f7;
    outline-offset: 2px;
}
