:root{color-scheme:light;--navy:var(--portal-secondary, #06163a);--border:#d4dde5;--muted:#536375}*{box-sizing:border-box}body{margin:0;background:#f5f7f9;color:#26384b;font:16px/1.5 'Segoe UI',Arial,sans-serif}a{color:#214b6a}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,#pdf-area:focus-visible{outline:3px solid var(--portal-primary, #087da4);outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 32px;background:#fff;border-bottom:1px solid var(--border)}.institution{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:600;text-decoration:none}.institution img{object-fit:contain}.institution small{display:block;font-size:0.875rem;color:var(--muted);font-weight:400}.back-link{text-decoration:none;white-space:nowrap}.document-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 32px;background:#fff}.eyebrow{font-size:0.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.document-heading h1{margin:4px 0 8px;font-size:1.4375rem;line-height:1.35;font-weight:600;color:var(--navy);overflow-wrap:anywhere}.document-heading p{margin:0;color:var(--muted);font-size:0.875rem}.file-actions{display:flex;gap:10px;flex-shrink:0}.file-actions a,.unavailable a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #b9c7d3;border-radius:3px;text-decoration:none;font-size:0.9375rem}.file-actions .primary{background:var(--navy);border-color:var(--navy);color:#fff}
#viewer{display:flex;flex-direction:column;height:calc(100dvh - 215px);min-height:500px;border-top:1px solid var(--border);background:#e2e6eb}#viewer:fullscreen{height:100dvh;min-height:0}.toolbar{z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);background:#f8fafc}.toolbar button,.toolbar select,.toolbar input,#retry{height:44px;border:1px solid #bac8d4;border-radius:3px;background:#fff;color:#253b50}.toolbar button{min-width:44px;padding:6px 12px;font-size:1.25rem;line-height:1}.toolbar button span{font-size:0.875rem;vertical-align:middle}.toolbar button:hover:not(:disabled),#retry:hover{background:#eaf0f5}.control-group{display:flex;align-items:center;gap:8px;padding-left:10px;border-left:1px solid var(--border);font-size:0.875rem;white-space:nowrap}.toolbar input{width:62px;text-align:center;padding:6px}.toolbar select{font-size:0.9375rem;padding:6px;max-width:185px}.viewer-body{display:flex;flex:1;min-height:0}#pages-sidebar{flex:0 0 170px;overflow:auto;background:#f7f9fb;border-right:1px solid #c7d1dc;padding:16px}#pages-sidebar h2{font-size:0.875rem;font-weight:600;margin:0 0 16px}#page-list{display:grid;gap:10px}#page-list button{padding:8px;min-height:44px;width:100%;border:1px solid #c5d1dc;border-radius:3px;background:#fff;color:#334b61;font-size:0.875rem}#page-list button[aria-current]{border:2px solid #214b6a;background:#edf3f8;font-weight:600}#page-list canvas{display:block;max-width:100%;margin:0 auto 6px;background:#fff;box-shadow:0 1px 4px #06163a22}#pdf-area{flex:1;min-width:0;overflow:auto;overscroll-behavior:contain;padding:28px;text-align:center;position:relative}#pdf-canvas{display:block;margin:0 auto;background:#fff;box-shadow:0 2px 12px #14233c30}#loading{padding:60px 20px;color:var(--muted)}.spinner{display:block;width:32px;height:32px;border:3px solid #c0cbd6;border-top-color:#214b6a;border-radius:50%;margin:auto;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}progress{accent-color:#214b6a;max-width:100%}#pdf-error{max-width:600px;margin:30px auto;padding:28px;background:#fff;border:1px solid #c8d2dd;border-radius:3px;text-align:left}#pdf-error h2{font-size:1.25rem}#pdf-error a{display:inline-block;margin:8px 0}#retry{display:block;padding:8px 16px;margin-top:12px}#text-content{max-width:850px;margin:24px auto 0;padding:16px 20px;border:1px solid #c3ced9;background:#f8fafc;text-align:left;border-radius:3px}#text-content summary{cursor:pointer;color:#214b6a;font-weight:600}#text-content p{font-size:0.875rem;color:var(--muted)}#pdf-text{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.viewer-status{display:flex;justify-content:space-between;gap:16px;padding:9px 24px;background:#f8fafc;border-top:1px solid var(--border);font-size:0.8125rem;color:var(--muted)}.unavailable{max-width:720px;padding:40px 24px;margin:40px auto}.unavailable h1{font-size:1.625rem;color:var(--navy)}
@media(max-width:1050px){.document-heading{align-items:flex-start;flex-direction:column;gap:16px}#viewer{height:75dvh;min-height:560px}.toolbar{gap:8px;padding:10px}.toolbar button span{display:none}#pages-sidebar{flex-basis:140px;padding:12px}}
@media(max-width:600px){.viewer-header{padding:12px 16px;gap:12px}.institution{font-size:0.875rem}.institution small{font-size:0.75rem}.institution img{width:32px;height:36px}.back-link{font-size:0.8125rem}.document-heading{padding:18px 16px}.document-heading h1{font-size:1.25rem}.file-actions{width:100%}.file-actions a{flex:1;padding:10px;font-size:0.875rem}.toolbar{justify-content:center;gap:8px}.control-group{padding:0;border:0;gap:5px}.toolbar select{max-width:150px}.toolbar input{width:52px}.toolbar button{padding:6px 10px}#pages-sidebar{flex-basis:110px;padding:10px}#pdf-area{padding:16px 10px}#viewer{min-height:520px}.viewer-status{padding:9px 12px}.viewer-status>span:last-child{display:none}#text-content{padding:12px}.institution span{max-width:195px}}
#pdf-area{scrollbar-gutter:stable}
#pdf-pages{position:relative;display:flex;flex-direction:column;gap:28px;width:max-content;min-width:100%;align-items:center}
.pdf-page{display:flex;flex-direction:column;align-items:center;width:100%;gap:10px}
.pdf-page-sheet{position:relative;flex:none;overflow:hidden;background:#fff;box-shadow:0 2px 12px #14233c30}
.pdf-page-sheet canvas{display:block;width:100%;height:100%}
.pdf-page-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;padding:20px;color:#536375;font-size:0.875rem;background:#fff}
.pdf-page-placeholder button{min-height:44px;padding:8px 12px;margin:8px;border:1px solid #bac8d4;background:#f7f9fb;border-radius:3px;color:#214b6a}
.pdf-page-caption{margin:0;font-size:0.8125rem;color:#536375}
.pdf-page-text{width:100%;max-width:min(850px,var(--pdf-reading-width,100%));padding:10px 14px;border:1px solid #c3ced9;background:#f8fafc;text-align:left;border-radius:3px;font-size:0.875rem}
.pdf-page-text summary{cursor:pointer;color:#214b6a}
.pdf-page-text-content{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere;margin-top:12px}
@media(max-width:600px){#pdf-pages{gap:22px}.pdf-page-text{padding:10px 12px}}
body.viewer-embedded{display:flex;flex-direction:column;height:100dvh;overflow:hidden}
.viewer-embedded .viewer-header{display:none}
.viewer-embedded .document-heading{display:none}
.viewer-embedded .toolbar{padding:6px 10px;gap:8px}
.viewer-embedded .document-heading h1{font-size:1.25rem}
.viewer-embedded #viewer{flex:1;height:auto;min-height:0}
.viewer-embedded #viewer:fullscreen{height:100dvh}
@media(max-width:600px){.viewer-embedded .document-heading{padding:12px 16px;gap:12px}.viewer-embedded .document-heading h1{font-size:1.125rem}.viewer-embedded .document-heading .eyebrow{display:none}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
/* Compact controls for contextual popup viewers only. */
.viewer-embedded .toolbar{padding:5px 8px;gap:5px;justify-content:center}
.viewer-embedded .toolbar :is(button,input,select){height:32px;min-height:32px;border-color:#d4dde5;border-radius:4px}
.viewer-embedded .toolbar button{min-width:32px;padding:3px 7px;font-size:1.125rem}
.viewer-embedded .toolbar button span{display:none}
.viewer-embedded .toolbar .control-group{gap:5px;padding:0 7px;font-size:.75rem}
.viewer-embedded .toolbar label{font-size:.75rem}
.viewer-embedded .toolbar input{width:44px;padding:2px 4px;font-size:.8125rem}
.viewer-embedded .toolbar select{max-width:135px;padding:3px 5px;font-size:.75rem}
.viewer-embedded .viewer-status{padding:5px 10px;font-size:.6875rem}
@media(pointer:coarse){.viewer-embedded .toolbar :is(button,input,select){height:40px;min-height:40px}.viewer-embedded .toolbar button{min-width:40px}}
@media(max-width:480px){.viewer-embedded .toolbar{gap:4px}.viewer-embedded .toolbar .control-group{padding:0 3px}.viewer-embedded .toolbar select{max-width:112px}}
