.gce-document-reader { margin-top: 1rem; display: flex; flex-direction: column; height: calc(100vh - 210px); height: calc(100dvh - 210px); min-height: 480px; background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: 12px; overflow: hidden; }
.gce-document-reader :focus-visible { outline: 2px solid var(--color-accent-primary); outline-offset: 2px; }
.gce-page-control { display: flex; align-items: center; gap: .5rem; }
.gce-page-control input { width: 65px; }
.gce-page-control span { font-size: .8rem; white-space: nowrap; }
.gce-document-status { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; min-height: 2.5rem; padding: .5rem .75rem; }
.gce-document-body { position: relative; display: flex; flex: 1; min-height: 0; background: #383a40; }
.gce-document-pages { position: absolute; inset: 0; overflow: auto; overscroll-behavior: contain; }
.gce-document-reader:fullscreen, .gce-document-reader.reader-expanded { height: 100vh; height: 100dvh; width: 100vw; border: 0; border-radius: 0; margin: 0; }
.gce-document-reader.reader-expanded { position: fixed; inset: 0; z-index: 10000; }
.gce-document-reader [hidden] { display: none; }
.gce-document-reader .pdfViewer .page { margin: 12px auto; }

.gce-document-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; padding: .5rem .75rem; border-bottom: 1px solid var(--color-border); }
.gce-reader-controls { display: flex; align-items: center; gap: .25rem; flex: 0 0 auto; }
.gce-reader-controls .btn-icon { flex: 0 0 44px; padding: 10px; }
.gce-reader-controls .btn-icon svg { flex-shrink: 0; }
.gce-reader-downloads { margin-left: auto; }
.gce-document-reader [data-pdf-control]:disabled,
.gce-document-reader a[data-pdf-control][aria-disabled="true"],
.gce-document-reader a[data-pdf-control].is-disabled { cursor: wait; opacity: .55; }
.gce-document-reader a[data-pdf-control][aria-disabled="true"],
.gce-document-reader a[data-pdf-control].is-disabled { pointer-events: none; }
.gce-document-reader .custom-select.is-disabled { opacity: .55; }
.gce-document-reader .gce-reader-zoom { width: 160px; flex: 0 0 160px; margin: 0; }
.gce-reader-zoom .custom-select-option { padding: .625rem .75rem; white-space: nowrap; }
.gce-reader-zoom .custom-select-trigger { min-height: 44px; padding: .5rem .75rem; }
.gce-page-control .form-input { min-height: 44px; padding: .5rem; margin: 0; }
.gce-document-status { font-size: var(--font-size-sm); color: var(--color-text-secondary); }
.gce-document-progress { display: flex; align-items: center; gap: .5rem; flex: 1 1 240px; min-width: 180px; }
.gce-document-progress .progress { flex: 1 1 auto; min-width: 80px; }
.gce-document-progress [data-pdf-progress-label] { flex: 0 0 7rem; font-variant-numeric: tabular-nums; }
.gce-document-progress.is-indeterminate .progress-bar { width: 35%; animation: gce-reader-progress 1.2s ease-in-out infinite; transition: none; }
@keyframes gce-reader-progress { 0% { transform: translateX(-100%); } 100% { transform: translateX(285%); } }
.gce-document-pages,
.gce-document-reader .textLayer,
.gce-document-reader .textLayer.highlighting { touch-action: auto; }
@media (prefers-reduced-motion: reduce) { .gce-document-progress.is-indeterminate .progress-bar { animation: none; width: 35%; } }
@media(max-width: 640px) { .gce-document-reader { height: 80vh; height: 80dvh; min-height: 500px; } .gce-document-toolbar { gap: .25rem; padding: .5rem; justify-content: center; } .gce-reader-downloads { margin-left: 0; } .gce-document-status { align-items: stretch; } .gce-document-progress { flex-basis: 100%; order: 3; } .gce-document-status [data-pdf-status] { flex: 1 1 auto; } }
