/* Artwork proof modal. All classes are prefixed apx- so they cannot clash with the theme. */
body.apx-open{overflow:hidden}
.apx{position:fixed;inset:0;z-index:99999;background:rgba(15,20,30,.6);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.apx[hidden]{display:none}
.apx-box{position:relative;background:#fff;color:#1b2230;border-radius:14px;width:min(820px,100%);max-height:94vh;overflow:auto;padding:28px;font-size:15px;line-height:1.5}
.apx-x{position:absolute;top:10px;right:14px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#444}
.apx-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:700px){.apx-grid{grid-template-columns:1fr}}
.apx h3{font-size:22px;margin:0 0 6px;padding-right:28px}
.apx-sub{color:#5b6475;font-size:14px;margin:0 0 12px}
.apx-pre{background:#eef0f4;border-radius:12px;padding:24px;display:grid;place-items:center;min-height:200px;margin-bottom:12px}
.apx-wrap{width:100%;max-width:340px}
#apx-stage{position:relative;background:#fff;margin:0 auto;box-shadow:3px 4px 0 #1b2230}
#apx-art{position:absolute;inset:0;overflow:hidden}
.apx-layer{position:absolute}
.apx-layer img,.apx-layer embed,.apx-layer canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border:0;display:block;max-width:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
#apx-stage.apx-movable{touch-action:none;cursor:grab}
#apx-stage.apx-movable.apx-grabbing{cursor:grabbing}
#apx-stage:focus-visible{outline:3px solid #0d6efd;outline-offset:3px}
.apx-empty{display:grid;place-items:center;height:100%;padding:12px;text-align:center;color:#5b6475;font-size:13px}
.apx-g{position:absolute;pointer-events:none;box-sizing:border-box}
#apx-trim{outline:2px dashed #ec008c}
#apx-safe{outline:1.5px dashed #00aeef}
.apx-opt{display:flex;gap:8px;align-items:center;margin:0 0 6px;font-weight:400}
.apx-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:#5b6475}
.apx-legend b.m{color:#ec008c}.apx-legend b.c{color:#00aeef}
.apx-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.apx-tab{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:5px 12px;cursor:pointer;font-size:14px}
.apx-tab[aria-pressed=true]{background:#1b2230;border-color:#1b2230;color:#fff}
.apx-checks{list-style:none;padding:0;margin:10px 0 14px;font-size:14px}
.apx-checks li{display:flex;gap:8px;padding:3px 0}
.apx-checks li:before{content:"✓";color:#0a7a3d;font-weight:700}
.apx-checks li.warn:before{content:"!";color:#9a6200}
.apx-checks li.bad:before{content:"✕";color:#b3261e}
.apx-ack{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:0 0 12px}
.apx-ack input{margin-top:5px}
.apx-row{display:flex;gap:10px;flex-wrap:wrap}
.apx-badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:99px;border:1px solid}
.apx-badge.ok{color:#0a7a3d;border-color:#0a7a3d}
.apx-badge.warn{color:#9a6200;border-color:#9a6200}
.apx-link{border:0;background:none;padding:0;color:#0d6efd;text-decoration:underline;cursor:pointer;font-size:14px}

.apx-tools{margin:0 0 10px}
.apx-tools[hidden]{display:none}
.apx-zoom{display:flex;align-items:center;gap:8px}
.apx-zoom input[type=range]{flex:1;min-width:0;margin:0}
.apx-zoom button,.apx-fitrow button{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:4px 12px;cursor:pointer;font-size:15px;line-height:1.4;color:#1b2230}
.apx-zoom button{width:34px;padding:4px 0;font-size:18px}
.apx-zoom button:disabled,.apx-fitrow button:disabled{opacity:.5;cursor:default}
.apx-zoom output{min-width:44px;text-align:right;font-size:13px;color:#5b6475;font-variant-numeric:tabular-nums}
.apx-fitrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}
.apx-hint{font-size:12px;color:#5b6475}
.apx-err{color:#b3261e;font-size:14px;margin:0 0 10px;min-height:0}
.apx-err:empty{display:none}
button:disabled#apx-approve{opacity:.6}
@media(prefers-reduced-motion:reduce){.apx *{transition:none!important}}
