.pdf-frame-wrapper{width:100%;background:#f0f0f0;padding:32px 0}
.pdf-frame-inner{max-width:1200px;margin:0 auto;padding:0 24px}
.uhg-pdfviewer.pdf-container{width:100%}
.canvas-container{width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.06);padding:24px}
.viewer-row{display:flex;flex-direction:row;align-items:stretch;gap:16px}
.pdf-area{flex:1 1 auto;max-height:clamp(520px,72vh,980px);overflow:auto;display:flex;justify-content:center;scrollbar-gutter:stable;--sb-size:0}
.pages-stack{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px}
.pages-stack canvas{display:block;background:#fff;border:1px solid #ddd}
.controls-area{width:56px;flex:0 0 56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;padding:8px;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.btn-float{width:44px;height:44px;background:#fff;color:#495057;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:.2s}
.btn-float:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd;transform:scale(1.05)}
.btn-float:disabled{background:#f3f3f3;color:#bfc4c9;cursor:not-allowed}
.divider-float{height:1px;width:70%;background:#e5e7eb}
.page-display{font-size:14px;font-weight:600;text-align:center}
.pdf-area::-webkit-scrollbar{width:var(--sb-size);height:var(--sb-size)}
.pdf-area::-webkit-scrollbar-thumb{background:rgba(0,0,0,.35);border-radius:8px}
.pdf-area::-webkit-scrollbar-track{background:transparent}
.pdf-area{scrollbar-width:none}
.pdf-area.scrolling{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.35) transparent}
.pdf-area.scrolling{--sb-size:10px}
.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:#666;flex-direction:column;gap:20px}
.spinner{border:4px solid #f3f3f3;border-top:4px solid #06c;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}
@keyframes spin{0{transform:rotate(0)}
100%{transform:rotate(360deg)}
}
.error{padding:20px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;margin:20px;color:#721c24}
.error a{color:#06c;text-decoration:underline;font-weight:bold}
@media(max-width:1024px){.controls-area{display:none}
.viewer-row{gap:0}
.pdf-area{flex:1 1 auto;max-height:clamp(520px,80vh,980px)}
}
.uhg-pdfviewer .sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,1px,1px);white-space:nowrap;border:0}