.fv-dialog{width:min(1100px,100%);max-width:100%;height:94dvh;max-height:100dvh;padding:0;border:0;border-radius:20px;background:#f1f5f9;color:#18334a;box-shadow:0 18px 70px #071b3650;font:15px system-ui,sans-serif;overflow:hidden}
.fv-dialog::backdrop{background:#06172bd9}.fv-dialog[open]{display:flex;flex-direction:column}
.fv-top,.fv-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;background:white;border-bottom:1px solid #dce6ef}
.fv-top strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-dialog button,.fv-dialog a{min-height:44px;min-width:44px;padding:10px 13px;border:1px solid #d6e3ed;border-radius:10px;background:white;color:#186b9f;font:600 14px system-ui;cursor:pointer;text-decoration:none;text-align:center}
.fv-dialog button:disabled{opacity:.45;cursor:default}.fv-dialog button:focus-visible,.fv-dialog a:focus-visible{outline:3px solid #078bc8;outline-offset:2px}
.fv-stage{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;padding:16px;overscroll-behavior:contain;touch-action:pan-x pan-y}
.fv-stage img,.fv-stage canvas{max-width:none;flex-shrink:0;display:block;box-shadow:0 5px 25px #17364d15;filter:none!important;image-rendering:auto}
.fv-stage img{object-fit:contain;transform-origin:top center;touch-action:pan-x pan-y}
.fv-message{align-self:center;max-width:480px;text-align:center;line-height:1.6;padding:20px}
.fv-status{font-size:12px;color:#5f778a}.fv-open{color:#0783b7!important;text-decoration:none;padding:7px 10px;display:inline-block;border-radius:8px;background:#e8f6fc;margin:3px;font-size:13px}
.fv-file-preview{padding:12px;margin:10px 0;background:#f0f7fb;border:1px solid #dceaf2;border-radius:12px}.fv-file-preview img{max-width:100%;max-height:220px;object-fit:contain;filter:none!important}.fv-file-preview p{font-size:13px;overflow-wrap:anywhere}
body.fv-opened{overflow:hidden}.fv-dialog [hidden]{display:none!important}
@media(max-width:600px){.fv-dialog{width:100%;height:100dvh;border-radius:0;margin:0}.fv-top,.fv-tools{padding:10px 12px;gap:6px}.fv-stage{padding:12px}.fv-top{padding-top:calc(10px + env(safe-area-inset-top))}.fv-tools{font-size:13px}.fv-tools button{padding:8px 10px}.fv-dialog{padding-bottom:env(safe-area-inset-bottom)}}
