/* Shared Pharmex viewer styles: every selector is prefixed with pxv-. */
body.pxv-app { margin: 0; background: #f7f8fa; color: #202b38; font: 16px/1.45 Arial, sans-serif; }
.pxv-header { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0.8rem 1.3rem; background: #fff; border-bottom: 1px solid #d5dbe2; }
.pxv-title { margin: 0; font-size: 1.2rem; }
.pxv-project-nav { display: flex; align-items: center; gap: 0.5rem; }
.pxv-project-nav select { font: inherit; padding: 0.3rem; max-width: 18rem; }
.pxv-main { max-width: 1380px; margin: 0 auto; padding: 1rem 1.3rem 2rem; }
.pxv-main h2 { font-size: 1.12rem; margin: 0.5rem 0 1rem; }
.pxv-status { padding: 0.45rem 1.3rem; color: #596778; font-size: 0.9rem; }
.pxv-error { color: #a52626; }
.pxv-project-grid { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.pxv-action { cursor: pointer; display: inline-block; background: #fff; color: #183955; border: 1px solid #aebbc8; border-radius: 5px; padding: 0.45rem 0.75rem; font: inherit; font-size: 0.93rem; text-decoration: none; }
.pxv-action:hover, .pxv-action:focus-visible { background: #edf3f7; }
.pxv-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.pxv-thumbnail { cursor: pointer; border: 1px solid #ced5db; border-radius: 5px; background: #fff; padding: 0.6rem; text-align: left; min-width: 0; }
.pxv-thumbnail:hover, .pxv-thumbnail:focus-visible { border-color: #25669a; outline: 2px solid #b7d9f0; }
.pxv-thumbnail img { display: block; width: 100%; height: 148px; object-fit: contain; background: #f3f4f5; }
.pxv-thumbnail-caption { display: block; font-size: 0.8rem; padding-top: 0.55rem; overflow-wrap: anywhere; }
.pxv-image-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 0.8rem; }
.pxv-image-container { padding: 0.8rem; background: #fff; border: 1px solid #d5dbe2; text-align: center; }
.pxv-image-stage { position: relative; display: inline-block; max-width: 100%; vertical-align: top; }
.pxv-image { display: block; max-width: 100%; max-height: 75vh; width: auto; height: auto; }
.pxv-overlay { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
