/* Shared top-layer file viewer. Header never scrolls out of reach on iPad/PWA. */
dialog.v-file-viewer{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;background:#edf0f3;color:#1a1d21;overflow:hidden;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box;overscroll-behavior:none}
dialog.v-file-viewer[open]{display:flex;flex-direction:column}
.v-file-viewer::backdrop{background:#edf0f3}
.v-file-viewer *{box-sizing:border-box}
.v-file-viewer .v-file-header{flex:none;display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid #dee2e8;z-index:2}
.v-file-viewer .v-file-title{flex:1;min-width:0;font-size:14px;font-weight:600;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.v-file-viewer button,.v-file-viewer .v-file-download{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:8px 12px;border:1px solid #dee2e8;border-radius:9px;background:#fff;color:#1a1d21;font:inherit;text-decoration:none;cursor:pointer;touch-action:manipulation}
.v-file-viewer .v-file-close{width:48px;height:48px;background:#f1f3f6;border-color:#d2d8e0;padding:0}
.v-file-viewer .v-file-close svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none}
.v-file-viewer :focus-visible{outline:2px solid #d6232e;outline-offset:2px}
.v-file-viewer button:disabled{opacity:.4;cursor:default}
.v-file-viewer .v-file-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px max(12px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));touch-action:pan-x pan-y pinch-zoom}
.v-file-viewer .v-file-message{max-width:540px;margin:24px auto;text-align:center;color:#69717c;white-space:pre-line}
.v-file-viewer .v-file-pages{width:100%;max-width:none;min-width:0;margin:0 auto}
.v-file-viewer .v-file-page{position:relative;margin:0 auto 14px;background:#fff;box-shadow:0 2px 10px #1a1d2112;overflow:hidden}
.v-file-viewer .v-file-page canvas{display:block;width:100%;height:100%}
.v-file-viewer .v-file-page-label{position:absolute;left:0;right:0;top:16px;text-align:center;color:#69717c;font-size:13px}
.v-file-viewer .v-file-page[data-ready="true"] .v-file-page-label{display:none}
.v-file-viewer .v-file-photo{display:block;margin:0 auto;border-radius:2px;object-fit:contain;max-width:none;max-height:none;background:#fff}
.v-file-viewer .v-file-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;flex:none;background:#fff;border-top:1px solid #dee2e8;padding:4px 12px calc(4px + env(safe-area-inset-bottom))}
.v-file-viewer [hidden]{display:none!important}
.v-file-viewer .v-file-page-count{font-size:13px;color:#69717c;min-width:52px;text-align:center}
.v-file-viewer .v-file-zoom{min-width:64px;font-variant-numeric:tabular-nums}
#lightbox .v-legacy-file-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:48px;height:48px;display:grid;place-items:center;background:white;color:#1a1d21;border:1px solid #dee2e8;border-radius:10px;padding:0;font:30px/1 sans-serif;cursor:pointer;z-index:3}
#lb .lbclose{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:48px;height:48px;background:#fff;color:#1a1d21;border:1px solid #dee2e8;border-radius:10px;z-index:3}
@media(max-width:480px){.v-file-viewer .v-file-header{gap:6px;padding-left:12px}.v-file-viewer .v-file-download{padding:8px;font-size:13px}.v-file-viewer .v-file-scroll{padding-left:8px;padding-right:8px}}
