.viewer{padding:24px;background:rgba(5,18,36,.84)}
.visitor-viewer-card{width:min(94vw,1500px);height:min(94vh,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.42)}
.visitor-viewer-stage{position:relative;min-height:0;flex:1;overflow:hidden;outline:0;background:#08111f;cursor:grab;touch-action:none}
.visitor-viewer-stage.dragging{cursor:grabbing}
.viewer .visitor-viewer-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:0;box-shadow:none;transform-origin:0 0;pointer-events:none;user-select:none;will-change:transform}
.visitor-viewer-arrow{position:absolute!important;top:50%!important;z-index:2!important;width:52px;height:72px;padding:0!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:12px!important;color:#fff!important;background:rgba(8,24,45,.58)!important;font:300 46px/1 sans-serif!important;transform:translateY(-50%);cursor:pointer;backdrop-filter:blur(5px)}
.visitor-viewer-arrow:hover{background:rgba(22,119,255,.82)!important}
.visitor-viewer-arrow.previous{left:18px!important;right:auto!important}
.visitor-viewer-arrow.next{right:18px!important}
.visitor-viewer-arrow[hidden]{display:none!important}
.visitor-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;background:#fff}
.visitor-viewer-copy{display:grid;gap:3px;min-width:0}
.visitor-viewer-copy strong{font-size:14px}
.visitor-viewer-copy small{color:var(--muted);font-size:12px}
.visitor-viewer-bar .viewer-actions{position:static;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.viewer-tool-actions,.viewer-submit-actions{display:flex;align-items:center;gap:8px}
.viewer-submit-actions{padding-left:12px;border-left:1px solid #dce7f2}
.visitor-viewer-bar .viewer-actions button,.visitor-viewer-bar .viewer-actions a{position:static;right:auto;top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #d5e3f2;border-radius:9px;color:var(--ink);background:#f7faff;text-decoration:none;font:700 13px "Microsoft YaHei",sans-serif;cursor:pointer}
.visitor-viewer-bar .viewer-actions #applyTemplate{color:#087458;background:#e8faf4;border-color:#9bdfca}
.visitor-viewer-bar .viewer-actions #viewerPrintRequest{color:#fff;background:#1477ef;border-color:#1477ef}
.visitor-viewer-bar .viewer-actions #viewerDigitalRequest{color:#0759c7;background:#e4f0ff;border-color:#9bc4ff}
.visitor-viewer-bar .viewer-actions #viewerClose{color:var(--ink);background:#fff}
.print-quantity-control{display:inline-flex;align-items:center;height:40px;overflow:hidden;border:1px solid #9bc4ff;border-radius:9px;background:#fff}
.visitor-viewer-bar .viewer-actions .print-quantity-control button{width:34px;min-height:38px;padding:0;border:0;border-radius:0;color:#0759c7;background:#edf5ff;font-size:20px}
.print-quantity-control input{width:46px;height:38px;padding:0 3px;border:0;border-left:1px solid #c9ddf5;border-right:1px solid #c9ddf5;outline:0;color:var(--ink);background:#fff;text-align:center;font:800 14px ui-monospace,monospace;-moz-appearance:textfield}
.print-quantity-control input::-webkit-inner-spin-button,.print-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.print-quantity-control:focus-within{box-shadow:0 0 0 3px rgba(20,119,239,.14)}
.print-quantity-control.disabled{opacity:.58;pointer-events:none}
#visitorViewerZoom{min-width:48px;color:var(--muted);text-align:center;font:12px ui-monospace,monospace}
body.visitor-viewer-open{overflow:hidden}
@media(max-width:760px){.viewer{padding:8px}.visitor-viewer-card{width:100%;height:calc(100vh - 16px)}.visitor-viewer-bar{align-items:stretch;flex-direction:column}.visitor-viewer-bar .viewer-actions{display:grid;gap:10px}.viewer-tool-actions,.viewer-submit-actions{display:grid;grid-template-columns:1fr auto 1fr}.viewer-submit-actions{grid-template-columns:1fr 1fr auto auto;padding:10px 0 0;border-left:0;border-top:1px solid #dce7f2}.visitor-viewer-arrow{width:42px;height:60px}.visitor-viewer-arrow.previous{left:8px!important}.visitor-viewer-arrow.next{right:8px!important}}
