.publication-loading#loading{position:fixed;inset:0;transform:none;z-index:100;background:var(--canvas,#f4f6f8);border-radius:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:30px;color:var(--navy,#13233a)}
.publication-loading .company-logo{width:auto;height:auto;max-width:min(320px,75vw);max-height:150px;object-fit:contain}
.loading-spinner{width:28px;height:28px;border:3px solid #8695a633;border-top-color:var(--blue,#174dd9);border-radius:50%;animation:logo-loading .85s linear infinite}
@keyframes logo-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}
.unified-reader .footer.has-company-logo{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,200px) minmax(0,1fr);gap:14px}
.company-brand{display:flex;justify-content:center;align-items:center;min-width:0}
.company-brand .company-logo{display:block;width:auto;height:auto;max-width:100%;max-height:44px;object-fit:contain}
.unified-reader .footer.has-company-logo .navigation{justify-self:start;flex-wrap:wrap}
.unified-reader .footer.has-company-logo .zoom{justify-content:flex-end;justify-self:end;min-width:0;flex-wrap:wrap}
@media(max-width:800px){.unified-reader .footer.has-company-logo{grid-template-columns:1fr;gap:10px}.unified-reader .footer.has-company-logo .navigation,.unified-reader .footer.has-company-logo .zoom{justify-self:center;justify-content:center}.company-brand{grid-row:3}.company-brand .company-logo{max-width:180px;max-height:36px}}
#export-logo-preview{display:flex;align-items:center;gap:16px;margin:12px 0;padding:12px;background:#f4f6f8;border:1px solid #dce2e8;border-radius:8px}
#export-logo-image{display:block;max-width:210px;max-height:80px;object-fit:contain;min-width:0}
#export-logo{display:block;width:100%;max-width:100%;font-size:.85rem;margin-bottom:8px}
#export-logo-help{display:block;line-height:1.5}
@container reading-space (max-width:760px){.unified-reader .footer.has-company-logo{grid-template-columns:1fr;gap:10px}.unified-reader .footer.has-company-logo .navigation,.unified-reader .footer.has-company-logo .zoom{justify-self:center;justify-content:center}.company-brand{grid-row:3}.company-brand .company-logo{max-width:180px;max-height:36px}}

/* Published reader: native text selection, edge navigation and zoom/panning. */
.public-reader .book-shell{overflow:clip;contain:layout paint;max-width:none}
.public-reader #book{transform-origin:0 0;max-width:none}
.public-reader .viewport{touch-action:pan-y pinch-zoom;overflow:auto;-webkit-overflow-scrolling:touch}
.public-reader .viewport #book{touch-action:pan-y pinch-zoom}
.public-reader .viewport.is-zoomed,.public-reader .viewport.is-zoomed #book{touch-action:pan-x pan-y pinch-zoom}
.text-layer{position:absolute;inset:0;overflow:hidden;line-height:1;color:transparent;user-select:text;-webkit-user-select:text;cursor:text}
.text-word{position:absolute;white-space:pre;line-height:1.25;font-family:Arial,sans-serif;transform-origin:left top;color:transparent;user-select:text;-webkit-user-select:text}
.text-word::selection{background:#3388ff66;color:transparent}
.public-reader.touch-interaction .page-edge{display:none!important;pointer-events:none!important}
.text-layer,.text-word{-webkit-touch-callout:default}
.page-edge{position:absolute;top:0;bottom:0;width:38px;border:0;border-radius:0;padding:0;background:transparent;z-index:12;display:block;user-select:none;touch-action:manipulation}
.page-edge-previous{left:0;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M22 8L10 20l12 12M11 20h23' fill='none' stroke='white' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 8L10 20l12 12M11 20h23' fill='none' stroke='%23213438' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 20 20,w-resize}
.page-edge-next{right:0;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M18 8l12 12-12 12M29 20H6' fill='none' stroke='white' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 8l12 12-12 12M29 20H6' fill='none' stroke='%23213438' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 20 20,e-resize}
.page-edge:disabled{display:none;pointer-events:none}
.page-edge::before,.page-edge::after{content:"";position:absolute;width:80px;height:48px;cursor:inherit}
.page-edge::before{top:0}.page-edge::after{bottom:0}
.page-edge-previous::before,.page-edge-previous::after{left:0}
.page-edge-next::before,.page-edge-next::after{right:0}
.publication-downloads{display:flex;align-items:center;gap:6px;min-width:0}
@media(hover:none){.public-reader .page-edge{display:none}}
@media(max-width:800px){
 .public-reader.reader{min-height:0}
 .public-reader .catalog-search{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;padding:8px}
 .public-reader .catalog-search form{min-width:0;width:100%}
 .public-reader.unified-reader .catalog-search .reading-controls{grid-column:1/-1;display:flex;margin-left:0;width:100%;gap:6px;flex-wrap:nowrap}
 .public-reader.unified-reader .reading-controls .page-summary{flex:1;display:flex;flex-wrap:nowrap;gap:6px;min-width:0}
 .public-reader .publication-downloads{margin-right:auto;flex-wrap:wrap;gap:4px}
 .public-reader.unified-reader .reading-controls button,.public-reader.unified-reader .reading-controls .toolbar-pdf{font-size:.7rem;padding:8px 6px}
 .public-reader.unified-reader .reading-controls #share{margin-left:auto;font-size:.7rem;padding:8px 6px}
 .public-reader.unified-reader .footer,.public-reader.unified-reader .footer.has-company-logo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;min-height:54px}
 .public-reader.unified-reader .footer .navigation,.public-reader.unified-reader .footer.has-company-logo .navigation{grid-column:1;grid-row:1;justify-self:start;justify-content:flex-start;flex-wrap:nowrap;gap:3px}
 .public-reader.unified-reader .footer .zoom,.public-reader.unified-reader .footer.has-company-logo .zoom{grid-column:2;grid-row:1;justify-self:end;justify-content:flex-end;flex-wrap:nowrap;gap:3px}
 .public-reader .footer .secondary{font-size:.72rem;padding:8px 7px}
 .public-reader #page-form{gap:3px;font-size:.7rem}
 .public-reader #page-number{width:42px;padding:8px 2px}
 .public-reader .company-brand{grid-column:1/-1;grid-row:2}
 .public-reader .company-brand .company-logo{max-height:28px}
}

.page-edge.is-dragging,.page-edge.is-dragging::before,.page-edge.is-dragging::after{cursor:grabbing}
