.ppl-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:99999}
.ppl-modal.active{display:flex}
.ppl-dialog{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);
  width:90vw;height:90vh;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.ppl-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #eee;flex:0 0 auto}
.ppl-title{font-weight:700}
.ppl-footer{display:flex;gap:12px;justify-content:flex-end;padding:14px 18px;border-top:1px solid #eee;flex:0 0 auto}
.ppl-btn.sufo-btn{} /* inherit theme */
.ppl-reupload.sufo-btn.sufo-btn--secondary{} /* optional modifier */

/* Canvas */
.ppl-canvas-wrap{position:relative;margin:0 auto;padding:28px;flex:1 1 auto;width:100%;height:100%;
  overflow:hidden;border:1px dashed #ddd;background:#fafafa;box-sizing:border-box}
.ppl-stage{position:relative;background:#fff;border:1px solid #bbb;box-shadow:inset 0 0 0 1px #eee;margin:0 auto}
.ppl-art{position:absolute;inset:0;object-fit:contain;width:100%;height:100%}

/* Guides */
.ppl-overlay{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.ppl-guide-top,.ppl-guide-left{position:absolute;background:transparent}
.ppl-guide-top{left:0;right:0;top:6px;border-top:2px solid #c1121f}
.ppl-guide-left{top:0;bottom:0;left:6px;border-left:2px solid #c1121f}
.ppl-arrow{position:absolute;width:0;height:0}
.ppl-top-left{border-top:8px solid #c1121f;border-left:8px solid transparent;left:0;top:-5px;transform:translate(0,-100%) rotate(-90deg)}
.ppl-top-right{border-top:8px solid #c1121f;border-right:8px solid transparent;right:0;top:-5px;transform:translate(0,-100%) rotate(90deg)}
.ppl-left-top{border-left:8px solid #c1121f;border-top:8px solid transparent;left:-5px;top:0;transform:translate(-100%,0)}
.ppl-left-bottom{border-left:8px solid #c1121f;border-bottom:8px solid transparent;left:-5px;bottom:0;transform:translate(-100%,0)}
.ppl-label-w{position:absolute;top:-18px;left:50%;transform:translate(-50%,-100%);color:#c1121f;font-weight:800;font-size:14px;background:#fff;padding:2px 8px;border-radius:4px}
.ppl-label-h{position:absolute;left:10px;top:50%;transform:translate(0,-50%) rotate(-90deg);transform-origin:center;color:#c1121f;font-weight:800;font-size:14px;background:#fff;padding:2px 8px;border-radius:4px}

/* filename next to product page button */
.ppl-uploader-wrap .ppl-file-name{font-size:.9rem;}

/* === Final Approval popup (copied structure) === */
.ppl-modal .sufs-confirm{ position:absolute; inset:0; background:rgba(0,0,0,.55); display:none; align-items:center; justify-content:center; }
.ppl-modal .sufs-confirm.active{ display:flex; }
.ppl-modal .sufs-confirm .box{ width:min(560px,92%); background:#fff; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.18); padding:16px; }
.ppl-modal .sufs-confirm .title{ font-weight:700; font-size:18px; margin-bottom:6px; }
.ppl-modal .sufs-confirm .msg{ font-size:13px; color:#4b5563; margin-bottom:12px; }
.ppl-modal .sufs-confirm ul{ margin:0 0 0 18px; }
.ppl-modal .sufs-confirm .actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }
.ppl-modal .sufs-confirm .actions .sufo-btn{ }

/* === v1.2.4 Confirm popup (strict) === */
.ppl-modal .sufs-confirm{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:100005}
.ppl-modal .sufs-confirm.active{display:flex}
.ppl-modal .sufs-confirm .box{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.22);width: min(600px, 92vw);padding:20px 20px 16px}
.ppl-modal .sufs-confirm .title{font-weight:800;font-size:20px;line-height:1.25;margin:0 0 4px}
.ppl-modal .sufs-confirm .msg{margin:0 0 10px;color:#4b5563;font-size:13px;line-height:1.5}
.ppl-modal .sufs-confirm .msg + .msg{margin-top:4px;margin-bottom:8px}
.ppl-modal .sufs-confirm ul{margin:0 0 0 18px;padding:0;list-style:disc}
.ppl-modal .sufs-confirm ul li{margin:6px 0;line-height:1.5}
.ppl-modal .sufs-confirm .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}
/* Ensure theme doesn't override button layout */
.ppl-modal .sufs-confirm .actions .sufo-btn{position:relative}

/* v1.2.5 — hard-force single-column confirm; disable any legacy .ppl-confirm */
.ppl-modal .ppl-confirm{display:none !important}
.ppl-modal .sufs-confirm{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:100010}
.ppl-modal .sufs-confirm.active{display:flex}
.ppl-modal .sufs-confirm .box{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.22);width:min(640px,94vw);padding:22px 22px 18px}
.ppl-modal .sufs-confirm .title{font-weight:800;font-size:20px;line-height:1.25;margin:0 0 4px}
.ppl-modal .sufs-confirm .msg{margin:0 0 10px;color:#4b5563;font-size:13px;line-height:1.5}
.ppl-modal .sufs-confirm .legend{font-weight:800;letter-spacing:.04em;color:#153957;margin:8px 0 6px}
.ppl-modal .sufs-confirm ul{margin:0 0 0 18px;padding:0;list-style:disc}
.ppl-modal .sufs-confirm ul li{margin:6px 0;line-height:1.5}
.ppl-modal .sufs-confirm .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}

/* === v1.2.6 Final Approval popup — single column === */
.sufs-confirm{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:10010}
.sufs-confirm .box{width:min(640px,94vw);background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.22);padding:22px 22px 18px}
.sufs-confirm .title{margin:0 0 4px;font-weight:800;font-size:20px;line-height:1.25}
.sufs-confirm .msg{margin:0 0 10px;color:#4b5563;font-size:13px;line-height:1.5}
.sufs-confirm .legend{margin:8px 0 6px;font-weight:800;letter-spacing:.04em;color:#153957}
.sufs-confirm ul{margin:0 0 0 18px;padding:0;list-style:disc}
.sufs-confirm ul li{margin:6px 0;line-height:1.5}
.sufs-confirm .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}
@media (max-width:540px){
  .sufs-confirm .actions{justify-content:stretch}
  .sufs-confirm .actions .sufo-btn{flex:1}
}
/* Hide any legacy multi-column confirm */
.ppl-confirm{display:none !important;}

/* v1.2.7 — force stacked layout even if theme sets `.box{ display:inline-flex }` */
.sufs-confirm .box{display:block !important; align-items:unset !important; gap:0 !important; width:min(640px,94vw) !important; padding:22px 22px 18px !important}
.sufs-confirm .title,
.sufs-confirm .msg,
.sufs-confirm .legend,
.sufs-confirm ul,
.sufs-confirm .actions{display:block !important; width:100% !important}
.sufs-confirm ul{list-style:disc !important; margin:0 0 0 18px !important; padding:0 !important}
.sufs-confirm .actions{display:flex !important; justify-content:flex-end !important; gap:10px !important; margin-top:12px !important}
