/* Craft Giclée Print Prep v0.6.0 — isolated UI, no PEWC styling */
:root{
--r:#68000A;--rd:#500007;--ink:#292725;--text:#403D3A;--muted:#69645F;
--cream:#F7F4EF;--warm:#F1ECE6;--line:#D7D0C8;--white:#FFFDF9;
--head:var(--e-global-typography-primary-font-family,"Poppins",Arial,sans-serif);
--body:var(--e-global-typography-text-font-family,"Lato",Arial,sans-serif)
}
html.cgppp-lock{overflow:hidden!important}
#cgpp-prod-dock{position:fixed;right:18px;bottom:18px;z-index:99980;width:min(365px,calc(100vw - 30px));font-family:var(--body)}
#cgpp-prod-dock[hidden]{display:none!important}
#cgpp-prod-dock .cgppp-di{padding:16px;border:1px solid #cfc4bb;border-left:5px solid var(--r);background:var(--white);box-shadow:0 12px 34px #0002}
#cgpp-prod-dock span{display:block;color:#8A3A40;font:700 11px/1.2 var(--head);letter-spacing:.09em}
#cgpp-prod-dock strong{display:block;margin-top:3px;color:var(--ink);font:700 17px/1.25 var(--head)}
#cgpp-prod-dock p{margin:5px 0 11px!important;color:var(--muted)!important;font:14px/1.42 var(--body)!important}
#cgpp-prod-dock button,#cgpp-prod #cgppp-save{width:100%;min-height:45px;border:0;background:var(--r);color:#fff;font:700 13px/1.2 var(--head);text-transform:uppercase;cursor:pointer}
#cgpp-prod-dock button:disabled,#cgpp-prod #cgppp-save:disabled{opacity:.45;cursor:not-allowed}
#cgpp-prod-dock small{display:block;margin-top:7px;color:var(--muted);font-size:12px}
#cgpp-prod-dock #cgppp-large{display:block;margin-top:9px;color:var(--r);font:700 12px/1.3 var(--head);text-decoration:underline}
#cgpp-prod{display:none;position:fixed;inset:0;z-index:1000000;font-family:var(--body);color:var(--text)}
#cgpp-prod.open{display:block}
.cgppp-shade{position:absolute;inset:0;background:#1b1714bd}
.cgppp-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:var(--white);border:1px solid #bfb3aa;box-shadow:0 28px 80px #0005}
.cgppp-modal>header{display:flex;justify-content:space-between;gap:18px;padding:21px 24px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fffdf9,#f2e9e6)}
.cgppp-modal>header span{color:#8A3A40;font:700 11px/1.2 var(--head);letter-spacing:.1em}
.cgppp-modal>header h2{margin:4px 0 5px!important;color:var(--ink)!important;font:600 32px/1.08 var(--head)!important}
.cgppp-modal>header p{margin:0!important;max-width:800px;color:var(--muted)!important;font:15px/1.45 var(--body)!important}
.cgppp-modal>header button{width:41px;height:41px;border:1px solid var(--line);background:#fff;font-size:26px;cursor:pointer}
#cgppp-loading,#cgppp-manual{padding:36px 28px;text-align:center}
#cgppp-loading strong,#cgppp-manual h3{color:var(--ink);font:700 22px/1.2 var(--head)}
#cgppp-loading p,#cgppp-manual p{max-width:680px;margin:8px auto!important;color:var(--muted)!important;font-size:15px!important;line-height:1.5!important}
#cgppp-manual>span{display:block;margin-bottom:7px;color:#8A3A40;font:700 11px/1.2 var(--head);letter-spacing:.1em}
#cgppp-manual a,#cgppp-manual button{display:inline-block;margin:12px 5px 0;padding:12px 16px;border:1px solid var(--r);background:var(--r);color:#fff!important;font:700 12px/1.2 var(--head);text-decoration:none;text-transform:uppercase;cursor:pointer}
#cgppp-manual button{background:#fff;color:var(--r)!important}
.cgppp-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr)}
.cgppp-grid>main{padding:22px 24px 26px;border-right:1px solid var(--line);background:#f4f0eb}
.cgppp-grid>aside{padding:22px 23px 26px}
.cgppp-step{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--ink);font:700 14px/1.25 var(--head)}
.cgppp-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--r);color:#fff;font-size:11px}
.cgppp-instruction,.cgppp-locknote{margin-bottom:12px;padding:11px 12px;border:1px solid var(--line);background:#fffdf9;color:var(--text);font-size:13px;line-height:1.45}
.cgppp-instruction strong,.cgppp-locknote strong{display:block;margin-bottom:3px;color:var(--ink);font:700 13px/1.25 var(--head)}
.cgppp-locknote{background:#f7f4ef}.cgppp-locknote p{margin:3px 0 0!important;color:var(--muted)!important;font-size:12.5px!important;line-height:1.4!important}
.cgppp-area{display:flex;align-items:center;justify-content:center;min-height:410px;padding:15px;background:#dcd4cd;overflow:hidden}
#cgppp-wrap{position:relative;background:#222;user-select:none}
#cgppp-img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
#cgppp-mask{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0008,#0008) 0 0/100% var(--y) no-repeat,linear-gradient(#0008,#0008) 0 calc(var(--y) + var(--h))/100% calc(100% - var(--y) - var(--h)) no-repeat,linear-gradient(#0008,#0008) 0 var(--y)/var(--x) var(--h) no-repeat,linear-gradient(#0008,#0008) calc(var(--x) + var(--w)) var(--y)/calc(100% - var(--x) - var(--w)) var(--h) no-repeat}
#cgppp-crop{position:absolute;border:1px solid #00f5ff;box-sizing:border-box;cursor:move;touch-action:none;box-shadow:none}
#cgppp-crop>span{position:absolute;left:8px;top:8px;padding:4px 6px;background:#0009;color:#fff;font:700 10px/1.2 var(--head);letter-spacing:.06em}
#cgppp-crop i{position:absolute;width:12px;height:12px;background:#00f5ff;border:1px solid #111;border-radius:50%;box-shadow:0 0 2px #fff}
#cgppp-crop .nw{left:-7px;top:-7px;cursor:nwse-resize}#cgppp-crop .ne{right:-7px;top:-7px;cursor:nesw-resize}
#cgppp-crop .sw{left:-7px;bottom:-7px;cursor:nesw-resize}#cgppp-crop .se{right:-7px;bottom:-7px;cursor:nwse-resize}
.cgppp-below{display:flex;gap:12px;align-items:center;margin-top:12px}.cgppp-below p{margin:0!important;color:var(--muted)!important;font-size:13px!important}
.cgppp-light{min-height:39px;padding:8px 12px;border:1px solid #bdb2a9;background:#fff;color:var(--r);font:700 12px/1.2 var(--head);cursor:pointer}
.cgppp-filefacts{display:grid;gap:3px;margin-bottom:16px;padding:11px 12px;border:1px solid var(--line);background:#f7f4ef}
.cgppp-filefacts strong{color:var(--ink);font:700 13px/1.3 var(--head);overflow-wrap:anywhere}.cgppp-filefacts span{color:var(--muted);font-size:12px}
.cgppp-sides{display:grid;grid-template-columns:1fr 32px 1fr;gap:8px;align-items:center;padding:14px;border:1px solid var(--line);background:var(--cream)}
.cgppp-link{text-align:center;font-size:16px;opacity:.65}.cgppp-sizefield>label{display:block;color:var(--ink);font:700 13px/1.2 var(--head)}
.cgppp-sizefield{min-width:0}.cgppp-sizefield>small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.cgppp-number{display:grid;grid-template-columns:34px minmax(92px,1fr) 34px;margin-top:5px}
.cgppp-number button{border:1px solid #beb3aa;background:#fff;color:var(--r);font-size:19px;font-weight:700;cursor:pointer}
.cgppp-number input{display:block;width:100%;min-width:92px;min-height:45px;margin:0;padding:8px 8px;border:1px solid #beb3aa;border-left:0;border-right:0;background:#fff;text-align:center;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}.cgppp-number input::-webkit-outer-spin-button,.cgppp-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#cgppp-limits{margin:7px 0 12px;color:var(--muted);font-size:12px}
.cgppp-validation{margin:0 0 17px;padding:9px 10px;border-left:4px solid #59694f;background:#f5f8f3;color:#40523d;font-size:12.5px;font-weight:700}
.cgppp-validation[data-ok="0"]{border-left-color:#8b3434;background:#fcf1f1;color:#792f2f}
#cgppp-quality{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-left:5px solid #59694f;background:#f7f8f5}
#cgppp-quality[data-q="review"]{border-left-color:#8a6526;background:#fcf8ee}#cgppp-quality[data-q="low"]{border-left-color:#8b3434;background:#fcf1f1}
#cgppp-quality>div{display:flex;justify-content:space-between;gap:8px}
#cgppp-quality strong{color:var(--ink);font:800 13px/1.2 var(--head)}#cgppp-quality em{color:var(--r);font:normal 800 17px/1.1 var(--head)}
#cgppp-quality p,.cgppp-rec p,.cgppp-employee p,.cgppp-final p{margin:7px 0 5px!important;color:var(--text)!important;font-size:13px!important;line-height:1.4!important}
#cgppp-quality small{color:var(--muted);font-size:12px}
.cgppp-rec{margin-bottom:14px;padding:12px;border:1px solid #cdbb91;background:#fff9ec}.cgppp-rec strong,.cgppp-employee strong{display:block;color:var(--ink);font:800 12px/1.25 var(--head);letter-spacing:.025em}
.cgppp-employee{margin-bottom:14px;padding:12px;border:1px solid var(--line);background:#f7f4ef}.cgppp-final{padding-top:14px;border-top:1px solid var(--line)}
#cgppp-error{margin-top:8px;padding:8px;background:#fff0f0;color:#742d2d;font-size:12px}
@media(max-width:850px){.cgppp-grid{grid-template-columns:1fr}.cgppp-grid>main{border-right:0;border-bottom:1px solid var(--line)}.cgppp-area{min-height:300px}}
@media(max-width:600px){
#cgpp-prod-dock{right:10px;bottom:10px;width:calc(100vw - 20px)}
.cgppp-modal{width:calc(100vw - 14px);max-height:calc(100vh - 14px)}
.cgppp-modal>header{padding:15px}.cgppp-modal>header h2{font-size:25px!important}
.cgppp-grid>main,.cgppp-grid>aside{padding:14px}.cgppp-area{min-height:240px;padding:8px}
.cgppp-below{display:block}.cgppp-below p{margin-top:8px!important}
.cgppp-sides{grid-template-columns:1fr 22px 1fr;padding:10px}.cgppp-number{grid-template-columns:30px minmax(72px,1fr) 30px}.cgppp-number input{min-width:72px;padding-left:5px;padding-right:5px}
}

/* =========================================================
   v0.6.3 — UPLOAD-COMPLETE CENTERED PROMPT
   Hidden until PEWC has fully populated pewc_file_data.
   ========================================================= */
#cgpp-prod-dock{
position:fixed!important;
inset:0!important;
z-index:999990!important;
width:auto!important;
display:flex!important;
align-items:center!important;
justify-content:center!important;
padding:20px!important;
background:rgba(28,24,22,.48)!important;
font-family:var(--body)!important;
opacity:0;
visibility:hidden;
transition:opacity .18s ease,visibility .18s ease
}
#cgpp-prod-dock[hidden]{
display:none!important
}
#cgpp-prod-dock.cgppp-show{
opacity:1;
visibility:visible
}
#cgpp-prod-dock .cgppp-prompt-card{
position:relative;
width:min(520px,calc(100vw - 34px));
max-height:calc(100vh - 34px);
overflow:auto;
box-sizing:border-box;
padding:28px 26px 24px;
border:1px solid #c7bbb2;
border-top:6px solid var(--r);
background:#fffdf9;
box-shadow:0 26px 70px rgba(0,0,0,.32);
text-align:left
}
#cgpp-prod-dock .cgppp-prompt-card>span{
display:block;
margin-bottom:6px;
color:#8A3A40;
font:700 11px/1.2 var(--head);
letter-spacing:.11em
}
#cgpp-prod-dock .cgppp-prompt-card>strong{
display:block;
margin:0;
color:var(--ink);
font:700 clamp(24px,3.1vw,32px)/1.1 var(--head)
}
#cgpp-prod-dock .cgppp-prompt-card>p{
margin:10px 0 18px!important;
color:var(--text)!important;
font:16px/1.5 var(--body)!important
}
#cgpp-prod-dock #cgppp-open{
width:100%;
min-height:54px;
border:0;
background:var(--r);
color:#fff;
font:700 14px/1.2 var(--head);
letter-spacing:.025em;
text-transform:uppercase;
cursor:pointer
}
#cgpp-prod-dock #cgppp-open:hover{background:var(--rd)}
#cgpp-prod-dock #cgppp-status{
display:block;
margin-top:10px;
padding:9px 10px;
border:1px solid var(--line);
background:#f7f4ef;
color:var(--muted);
font-size:13px;
line-height:1.35;
overflow-wrap:anywhere
}
#cgpp-prod-dock #cgppp-large{
display:block;
margin-top:10px;
color:var(--r);
font:700 12px/1.35 var(--head);
text-decoration:underline
}
#cgpp-prod-dock .cgppp-prompt-close{
position:absolute;
right:12px;
top:12px;
width:38px;
height:38px;
border:1px solid var(--line);
background:#fff;
color:var(--ink);
font-size:24px;
line-height:1;
cursor:pointer
}

@media(max-width:600px){
#cgpp-prod-dock{
padding:10px!important;
align-items:center!important
}
#cgpp-prod-dock .cgppp-prompt-card{
width:calc(100vw - 20px);
max-height:calc(100vh - 20px);
padding:24px 18px 20px;
border-top-width:5px
}
#cgpp-prod-dock .cgppp-prompt-card>strong{
font-size:25px!important;
padding-right:34px
}
#cgpp-prod-dock .cgppp-prompt-card>p{
font-size:15px!important;
line-height:1.45!important
}
#cgpp-prod-dock #cgppp-open{
min-height:56px;
font-size:14px
}
#cgpp-prod-dock .cgppp-prompt-close{
right:9px;
top:9px;
width:36px;
height:36px
}
}

@media(max-height:600px) and (orientation:landscape){
#cgpp-prod-dock{
align-items:flex-start!important;
overflow:auto!important
}
#cgpp-prod-dock .cgppp-prompt-card{
margin:auto 0;
max-height:none
}
}

/* v0.7 universal-preview note */
#cgpp-prod #cgppp-browser-note{
display:block;
margin-top:3px;
color:#6b625c;
font-size:11.5px;
line-height:1.35
}

/* v0.7.9 — Proof Image Prep: composition-only client flow */
#cgpp-prod.cgppp-proof .cgppp-modal{width:min(1120px,calc(100vw - 28px))}
#cgpp-prod.cgppp-proof .cgppp-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)}
#cgpp-prod.cgppp-proof .cgppp-grid>main{padding:22px 24px 24px}
#cgpp-prod.cgppp-proof .cgppp-grid>aside{padding:22px 22px 24px;background:#fffdf9}
#cgpp-prod.cgppp-proof .cgppp-grid>aside>.cgppp-step,
#cgpp-prod.cgppp-proof .cgppp-locknote,
#cgpp-prod.cgppp-proof .cgppp-sides,
#cgpp-prod.cgppp-proof #cgppp-validation,
#cgpp-prod.cgppp-proof #cgppp-quality,
#cgpp-prod.cgppp-proof .cgppp-rec{display:none!important}
#cgpp-prod.cgppp-proof #cgppp-limits{margin:0 0 14px;padding:11px 12px;border:1px solid #d7d0c8;border-left:4px solid #68000A;background:#f7f4ef;color:#403d3a;font-size:12.5px;line-height:1.45;font-weight:700}
#cgpp-prod.cgppp-proof .cgppp-filefacts{margin-bottom:14px}
#cgpp-prod.cgppp-proof .cgppp-employee{margin-bottom:14px;padding:14px;border-left:4px solid #68000A}
#cgpp-prod.cgppp-proof .cgppp-final{padding-top:14px}
#cgpp-prod.cgppp-proof #cgppp-summary{margin:0 0 13px;padding:12px;border:1px solid #d7d0c8;background:#fff;color:#403d3a;font-size:13px;line-height:1.5}
#cgpp-prod.cgppp-proof #cgppp-summary strong{color:#292725}
#cgpp-prod.cgppp-proof #cgppp-crop{border:1px solid #00f5ff!important;box-shadow:0 0 0 1px rgba(0,0,0,.18)!important}
#cgpp-prod.cgppp-proof #cgppp-crop i{width:10px;height:10px;background:#00f5ff;border:1px solid #111;box-shadow:0 0 1px #fff}
#cgpp-prod.cgppp-proof #cgppp-crop span{background:rgba(0,0,0,.78);color:#00f5ff;font-size:10px;letter-spacing:.06em}
@media(max-width:850px){#cgpp-prod.cgppp-proof .cgppp-grid{grid-template-columns:1fr}#cgpp-prod.cgppp-proof .cgppp-grid>aside{padding:18px}#cgpp-prod.cgppp-proof .cgppp-area{min-height:320px}}

/* =========================================================
   v0.8.0 — PRECISION CROP CONTROLS
   Thin high-contrast crop line, drag-activated corner loupe,
   keyboard nudging, and fully readable dimension fields.
   ========================================================= */
#cgpp-crop{}
#cgppp-crop{border:1px solid #00F5FF!important;box-shadow:none!important;outline:none}
#cgppp-crop:focus{box-shadow:0 0 0 1px rgba(0,0,0,.42)!important}
#cgppp-crop i{width:12px!important;height:12px!important;background:#00F5FF!important;border:1px solid #111!important;box-shadow:0 0 2px rgba(255,255,255,.95)!important}
#cgppp-crop .nw{left:-7px!important;top:-7px!important}#cgppp-crop .ne{right:-7px!important;top:-7px!important}
#cgppp-crop .sw{left:-7px!important;bottom:-7px!important}#cgppp-crop .se{right:-7px!important;bottom:-7px!important}
#cgppp-loupe{position:absolute;z-index:12;width:132px;height:132px;border:1px solid #00F5FF;border-radius:50%;background-repeat:no-repeat;background-color:#111;box-shadow:0 3px 14px rgba(0,0,0,.62),0 0 0 1px #000;pointer-events:none;overflow:hidden}
#cgppp-loupe[hidden]{display:none!important}
#cgppp-loupe:before,#cgppp-loupe:after{content:"";position:absolute;z-index:2;background:#fff;box-shadow:0 0 1px #000}
#cgppp-loupe:before{left:50%;top:8px;bottom:8px;width:1px;transform:translateX(-.5px)}
#cgppp-loupe:after{top:50%;left:8px;right:8px;height:1px;transform:translateY(-.5px)}
#cgppp-loupe b{position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid #00F5FF;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000}
.cgppp-number{grid-template-columns:34px minmax(104px,1fr) 34px!important}
.cgppp-number input{width:100%!important;min-width:104px!important;padding-left:8px!important;padding-right:8px!important;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.cgppp-number input::-webkit-outer-spin-button,.cgppp-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:600px){#cgppp-loupe{width:116px;height:116px}.cgppp-number{grid-template-columns:30px minmax(78px,1fr) 30px!important}.cgppp-number input{min-width:78px!important}}

/* =========================================================
   v0.8.1 — REOPEN / EDIT + PROFESSIONAL UX POLISH
   Keep approved/draft artwork prep easy to review before cart.
   ========================================================= */
#cgpp-prod-dock.cgppp-resume{
  inset:auto 18px 18px auto!important;
  width:min(390px,calc(100vw - 30px))!important;
  padding:0!important;
  background:transparent!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  opacity:1!important;
  visibility:visible!important;
}
#cgpp-prod-dock.cgppp-resume .cgppp-prompt-card{
  width:100%;
  max-height:none;
  padding:18px 18px 16px;
  border-top-width:4px;
  box-shadow:0 14px 38px rgba(0,0,0,.22);
}
#cgpp-prod-dock.cgppp-resume.cgppp-saved .cgppp-prompt-card{border-top-color:#59694f}
#cgpp-prod-dock.cgppp-resume .cgppp-prompt-card>span{font-size:10px}
#cgpp-prod-dock.cgppp-resume .cgppp-prompt-card>strong{font-size:20px!important;line-height:1.16}
#cgpp-prod-dock.cgppp-resume .cgppp-prompt-card>p{margin:7px 0 12px!important;font-size:13.5px!important;line-height:1.42!important}
#cgpp-prod-dock.cgppp-resume #cgppp-open{min-height:46px;font-size:12.5px}
#cgpp-prod-dock.cgppp-resume #cgppp-status{margin-top:8px;padding:7px 8px;font-size:11.5px}
#cgpp-prod-dock.cgppp-resume #cgppp-large,
#cgpp-prod-dock.cgppp-resume .cgppp-prompt-close{display:none!important}

#cgpp-prod button,#cgpp-prod-dock button{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}
#cgpp-prod button:focus-visible,#cgpp-prod-dock button:focus-visible,#cgppp-crop:focus-visible{
  outline:2px solid #68000A!important;
  outline-offset:2px!important;
}
#cgpp-prod #cgppp-save{min-height:50px;font-size:13.5px;letter-spacing:.02em}
#cgpp-prod #cgppp-save:not(:disabled):hover,#cgpp-prod-dock #cgppp-open:hover{background:#500007}
#cgpp-prod .cgppp-light:hover{border-color:#68000A;background:#fffaf7}
#cgpp-prod .cgppp-step span{letter-spacing:.005em}
#cgpp-prod .cgppp-filefacts{border-radius:1px}
#cgpp-prod .cgppp-final{background:#fffdf9}
#cgpp-prod #cgppp-summary span{color:#69645F}

/* The artwork is the primary decision area; keep controls compact and readable. */
@media(min-width:851px){
  #cgpp-prod .cgppp-grid>main{min-width:0}
  #cgpp-prod .cgppp-grid>aside{min-width:0}
  #cgpp-prod .cgppp-area{min-height:440px}
  #cgpp-prod.cgppp-proof .cgppp-area{min-height:500px}
}
@media(max-width:850px){
  #cgpp-prod .cgppp-modal>header h2{max-width:680px}
  #cgpp-prod .cgppp-grid>aside{background:#fffdf9}
}
@media(max-width:600px){
  #cgpp-prod-dock.cgppp-resume{right:10px!important;bottom:10px!important;width:calc(100vw - 20px)!important;padding:0!important}
  #cgpp-prod-dock.cgppp-resume .cgppp-prompt-card{padding:15px 15px 14px}
  #cgpp-prod-dock.cgppp-resume .cgppp-prompt-card>strong{font-size:19px!important;padding-right:0}
  #cgpp-prod .cgppp-modal>header p{font-size:13.5px!important;line-height:1.4!important}
  #cgpp-prod .cgppp-instruction{font-size:12.5px;line-height:1.42}
  #cgpp-prod .cgppp-filefacts{margin-bottom:13px}
  #cgpp-prod #cgppp-save{min-height:54px}
}


/* =========================================================
   v0.8.2 — MODAL SPACING + VISUAL HIERARCHY TUNING
   Surgical presentation pass only. Processing/crop math untouched.
   ========================================================= */
#cgpp-prod .cgppp-modal{width:min(1240px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden}
#cgpp-prod .cgppp-grid{grid-template-columns:minmax(0,1.48fr) minmax(390px,.72fr);height:min(760px,calc(100vh - 150px));min-height:610px}
#cgpp-prod .cgppp-grid>main,#cgpp-prod .cgppp-grid>aside{min-width:0;overflow-y:auto}
#cgpp-prod .cgppp-grid>main{padding:20px 24px 22px;background:#f4f0eb}
#cgpp-prod .cgppp-grid>aside{padding:20px 22px 24px;background:#fffdf9}
#cgpp-prod .cgppp-step{margin:0 0 10px;gap:10px}
#cgpp-prod .cgppp-step:not(:first-child){margin-top:16px}
#cgpp-prod .cgppp-step b{flex:0 0 28px}
#cgpp-prod .cgppp-instruction,#cgpp-prod .cgppp-locknote{margin-bottom:12px;padding:11px 13px}
#cgpp-prod .cgppp-filefacts{margin:0 0 14px;padding:11px 13px}
#cgpp-prod .cgppp-area{min-height:0;height:calc(100% - 128px);max-height:530px;padding:14px}
#cgpp-prod .cgppp-below{display:grid;grid-template-columns:134px minmax(0,1fr);gap:14px;align-items:center;margin-top:10px}
#cgpp-prod .cgppp-below .cgppp-light{width:134px;min-height:42px;padding:7px 10px;line-height:1.08}
#cgpp-prod .cgppp-below p{max-width:610px;font-size:12.5px!important;line-height:1.38!important}
#cgpp-prod .cgppp-sides{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:10px;padding:13px}
#cgpp-prod .cgppp-link{align-self:center;font-size:14px;opacity:.55}
#cgpp-prod .cgppp-sizefield>label{margin-bottom:5px}
#cgpp-prod .cgppp-number{grid-template-columns:38px minmax(82px,1fr) 38px!important;margin-top:0}
#cgpp-prod .cgppp-number button{min-width:38px;min-height:46px;padding:0}
#cgpp-prod .cgppp-number input{min-width:0!important;min-height:46px;padding:8px 4px!important;font-size:15px}
#cgpp-prod .cgppp-sizefield>small{margin-top:5px}
#cgpp-prod #cgppp-limits{margin:7px 0 10px;line-height:1.35}
#cgpp-prod .cgppp-validation{margin:0 0 14px;padding:9px 11px}
#cgpp-prod #cgppp-quality{margin-bottom:11px;padding:12px 13px}
#cgpp-prod .cgppp-rec,#cgpp-prod .cgppp-employee{margin-bottom:11px;padding:11px 12px}
#cgpp-prod .cgppp-final{padding-top:12px}
@media (max-width:1050px) and (min-width:851px){
  #cgpp-prod .cgppp-modal{width:calc(100vw - 24px)}
  #cgpp-prod .cgppp-grid{grid-template-columns:minmax(0,1.32fr) minmax(380px,.78fr)}
  #cgpp-prod .cgppp-grid>main,#cgpp-prod .cgppp-grid>aside{padding-left:18px;padding-right:18px}
}
@media(max-width:850px){
  #cgpp-prod .cgppp-modal{overflow:auto;width:calc(100vw - 18px);max-height:calc(100vh - 18px)}
  #cgpp-prod .cgppp-grid{display:block;height:auto;min-height:0}
  #cgpp-prod .cgppp-grid>main,#cgpp-prod .cgppp-grid>aside{overflow:visible}
  #cgpp-prod .cgppp-area{height:auto;min-height:300px;max-height:none}
}
@media(max-width:600px){
  #cgpp-prod .cgppp-grid>main,#cgpp-prod .cgppp-grid>aside{padding:14px}
  #cgpp-prod .cgppp-below{grid-template-columns:1fr;gap:8px}
  #cgpp-prod .cgppp-below .cgppp-light{width:100%}
  #cgpp-prod .cgppp-sides{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}
  #cgpp-prod .cgppp-link{display:none}
  #cgpp-prod .cgppp-number{grid-template-columns:40px minmax(0,1fr) 40px!important}
  #cgpp-prod .cgppp-number button{min-width:40px}
  #cgpp-prod .cgppp-number input{font-size:16px}
}



/* =========================================================
   v0.8.3 — SAVED STATE IN PRODUCT FLOW + STUDIO POLISH
   Presentation / interaction polish only. Processing and crop math untouched.
   ========================================================= */

/* Saved / paused artwork prep belongs to the order form, not the viewport corner. */
#cgpp-prod-dock.cgppp-resume.cgppp-inline{
  position:relative!important;
  inset:auto!important;
  z-index:3!important;
  width:100%!important;
  max-width:none!important;
  margin:12px 0 4px!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  background:transparent!important;
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline .cgppp-prompt-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "eyebrow action"
    "title action"
    "status action";
  column-gap:16px;
  row-gap:2px;
  align-items:center;
  width:100%;
  padding:12px 13px 12px 14px;
  border:1px solid #d8d0c8;
  border-left:4px solid #59694f;
  border-top-width:1px;
  border-radius:4px;
  background:linear-gradient(135deg,#fffdf9 0%,#f8f5f0 100%);
  box-shadow:none;
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline .cgppp-prompt-card>span{
  grid-area:eyebrow;
  margin:0;
  color:#756d66;
  font-size:9.5px;
  line-height:1.15;
  letter-spacing:.105em
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline .cgppp-prompt-card>strong{
  grid-area:title;
  margin:1px 0 0!important;
  padding:0!important;
  color:#292725;
  font-size:15px!important;
  line-height:1.2!important
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline .cgppp-prompt-card>p{
  display:none!important
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline #cgppp-status{
  grid-area:status;
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#69645f!important;
  font-size:11px!important;
  line-height:1.25!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline #cgppp-open{
  grid-area:action;
  width:auto!important;
  min-width:142px;
  min-height:38px!important;
  padding:8px 13px!important;
  border:1px solid #68000a!important;
  border-radius:3px;
  background:#fffdf9!important;
  color:#68000a!important;
  font-size:11px!important;
  letter-spacing:.025em;
  white-space:nowrap
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline #cgppp-open:hover{
  background:#68000a!important;
  color:#fff!important
}
#cgpp-prod-dock.cgppp-resume.cgppp-inline #cgppp-large,
#cgpp-prod-dock.cgppp-resume.cgppp-inline .cgppp-prompt-close{
  display:none!important
}

/* A slightly more crafted studio surface without becoming decorative. */
#cgpp-prod .cgppp-modal{
  border:1px solid rgba(76,65,57,.24);
  border-radius:7px;
  background:#fffdf9;
  box-shadow:0 24px 70px rgba(34,28,24,.28),0 3px 12px rgba(34,28,24,.12)
}
#cgpp-prod .cgppp-modal>header{
  position:relative;
  overflow:hidden;
  padding-top:20px;
  padding-bottom:18px;
  background:
    radial-gradient(circle at 14% -70%,rgba(104,0,10,.10),transparent 43%),
    linear-gradient(180deg,#fffdf9 0%,#faf7f3 100%);
  border-bottom:1px solid #ded6cf
}
#cgpp-prod .cgppp-modal>header:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,#68000a 0 18%,rgba(104,0,10,.18) 18% 48%,transparent 72%)
}
#cgpp-prod .cgppp-modal>header span{
  letter-spacing:.135em
}
#cgpp-prod .cgppp-modal>header h2{
  letter-spacing:-.018em
}

/* Crop workspace: subtle visual depth focuses the eye on the artwork. */
#cgpp-prod .cgppp-area{
  position:relative;
  border:1px solid #cfc6be;
  border-radius:5px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.44),rgba(255,255,255,0) 38%),
    #e5dfd8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),inset 0 0 0 1px rgba(255,255,255,.22)
}
#cgpp-prod .cgppp-area:before{
  content:"";
  position:absolute;
  inset:7px;
  pointer-events:none;
  border:1px solid rgba(74,62,54,.07);
  border-radius:3px
}
#cgpp-prod #cgppp-crop{
  transition:box-shadow .14s ease
}
#cgpp-prod #cgppp-crop:focus-visible{
  box-shadow:0 0 0 2px rgba(0,245,255,.18)
}

/* Step markers feel intentional and react gently as controls receive attention. */
#cgpp-prod .cgppp-step b{
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset;
  transition:transform .16s ease,box-shadow .16s ease
}
#cgpp-prod .cgppp-step:focus-within b{
  transform:translateY(-1px);
  box-shadow:0 0 0 3px rgba(104,0,10,.08),0 1px 0 rgba(255,255,255,.75) inset
}

/* Cards are visually related, not individually loud. */
#cgpp-prod .cgppp-filefacts,
#cgpp-prod .cgppp-instruction,
#cgpp-prod .cgppp-locknote,
#cgpp-prod .cgppp-validation,
#cgpp-prod #cgppp-quality,
#cgpp-prod .cgppp-rec,
#cgpp-prod .cgppp-employee{
  border-radius:4px
}
#cgpp-prod #cgppp-quality,
#cgpp-prod .cgppp-rec,
#cgpp-prod .cgppp-employee{
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset
}

/* Purposeful micro-interactions only. */
#cgpp-prod .cgppp-light,
#cgpp-prod #cgppp-save,
#cgpp-prod .cgppp-number button,
#cgpp-prod-dock.cgppp-inline #cgppp-open{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .10s ease
}
@media(hover:hover) and (pointer:fine){
  #cgpp-prod .cgppp-light:hover,
  #cgpp-prod-dock.cgppp-inline #cgppp-open:hover{
    transform:translateY(-1px)
  }
  #cgpp-prod #cgppp-save:not(:disabled):hover{
    box-shadow:0 5px 14px rgba(104,0,10,.18)
  }
}
#cgpp-prod #cgppp-save:not(:disabled):active,
#cgpp-prod .cgppp-number button:active,
#cgpp-prod-dock.cgppp-inline #cgppp-open:active{
  transform:translateY(0) scale(.995)
}

/* Modal arrival is calm and quick; respect reduced-motion preferences. */
#cgpp-prod:not([hidden]) .cgppp-modal{
  animation:cgppStudioIn .20s ease-out both
}
@keyframes cgppStudioIn{
  from{opacity:0;transform:translateY(7px) scale(.997)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  #cgpp-prod .cgppp-modal,
  #cgpp-prod *,
  #cgpp-prod-dock *{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}

/* Compact inline saved state on phones. */
@media(max-width:600px){
  #cgpp-prod-dock.cgppp-resume.cgppp-inline{
    margin:10px 0 3px!important
  }
  #cgpp-prod-dock.cgppp-resume.cgppp-inline .cgppp-prompt-card{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"eyebrow" "title" "status" "action";
    row-gap:3px;
    padding:11px 12px 12px
  }
  #cgpp-prod-dock.cgppp-resume.cgppp-inline #cgppp-open{
    width:100%!important;
    margin-top:7px;
    min-height:42px!important
  }
}



/* =========================================================
   v0.8.4 — TRUE VIEWPORT-CENTERED MODAL
   Fixes theme/animation-safe centering on every visible screen size.
   ========================================================= */

/* The overlay owns centering. Never rely on translating the modal itself. */
#cgpp-prod{
  position:fixed!important;
  inset:0!important;
  z-index:1000000!important;
  box-sizing:border-box;
  padding:16px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  isolation:isolate
}
#cgpp-prod.open{
  display:flex!important
}
#cgpp-prod .cgppp-shade{
  position:absolute!important;
  inset:0!important;
  z-index:0
}
#cgpp-prod .cgppp-modal{
  position:relative!important;
  z-index:1!important;
  left:auto!important;
  top:auto!important;
  margin:auto!important;
  transform:none;
  width:min(1240px,100%)!important;
  max-width:1240px!important;
  max-height:calc(100vh - 32px)!important;
  max-height:calc(100dvh - 32px)!important;
  display:flex;
  flex-direction:column;
  overflow:hidden!important
}

/* Header never steals the scroll; the workspace gets the available height. */
#cgpp-prod .cgppp-modal>header{
  flex:0 0 auto
}
#cgpp-prod .cgppp-grid{
  flex:1 1 auto;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden
}
#cgpp-prod .cgppp-grid>main,
#cgpp-prod .cgppp-grid>aside{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain
}

/* Loading/manual states remain centered within a viewport-safe modal. */
#cgpp-prod #cgppp-loading,
#cgpp-prod #cgppp-manual{
  overflow-y:auto
}

/* Animation may add tiny motion, but it no longer participates in positioning. */
#cgpp-prod:not([hidden]) .cgppp-modal{
  animation:cgppViewportIn .18s ease-out both
}
@keyframes cgppViewportIn{
  from{opacity:0;transform:translateY(5px) scale(.998)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Short laptop screens: preserve safe edges and let the two panes scroll internally. */
@media(max-height:720px) and (min-width:851px){
  #cgpp-prod{
    padding:10px!important
  }
  #cgpp-prod .cgppp-modal{
    max-height:calc(100vh - 20px)!important;
    max-height:calc(100dvh - 20px)!important
  }
  #cgpp-prod .cgppp-modal>header{
    padding-top:14px;
    padding-bottom:13px
  }
}

/* Tablet/mobile: near-full-screen, centered, one natural scroll surface. */
@media(max-width:850px){
  #cgpp-prod{
    padding:9px!important
  }
  #cgpp-prod .cgppp-modal{
    width:100%!important;
    max-width:none!important;
    max-height:calc(100vh - 18px)!important;
    max-height:calc(100dvh - 18px)!important;
    overflow:auto!important
  }
  #cgpp-prod .cgppp-grid{
    flex:0 0 auto;
    display:block!important;
    overflow:visible!important
  }
  #cgpp-prod .cgppp-grid>main,
  #cgpp-prod .cgppp-grid>aside{
    overflow:visible!important
  }
}

@media(prefers-reduced-motion:reduce){
  #cgpp-prod:not([hidden]) .cgppp-modal{
    animation:none!important;
    transform:none!important
  }
}



/* =========================================================
   v0.8.5 — COMPACT RIGHT CONTROL RAIL
   Fit more decision-making content above the fold without shrinking usability.
   ========================================================= */
@media(min-width:851px){
  #cgpp-prod .cgppp-grid>aside{
    padding-top:12px!important;
    padding-bottom:12px!important
  }

  /* Reduce vertical gaps between the right-rail sections. */
  #cgpp-prod .cgppp-grid>aside>*{
    margin-top:8px!important;
    margin-bottom:8px!important
  }
  #cgpp-prod .cgppp-grid>aside>*:first-child{margin-top:0!important}
  #cgpp-prod .cgppp-grid>aside>*:last-child{margin-bottom:0!important}

  /* File summary becomes a compact header card. */
  #cgpp-prod .cgppp-filefacts{
    padding:10px 12px!important;
    line-height:1.25!important
  }
  #cgpp-prod .cgppp-filefacts strong{
    margin-bottom:3px!important;
    font-size:13px!important;
    line-height:1.2!important
  }
  #cgpp-prod .cgppp-filefacts div,
  #cgpp-prod .cgppp-filefacts span,
  #cgpp-prod .cgppp-filefacts small{
    line-height:1.3!important
  }

  /* Step headings stay prominent but consume less height. */
  #cgpp-prod .cgppp-step{
    margin-top:10px!important;
    margin-bottom:7px!important;
    min-height:28px!important
  }
  #cgpp-prod .cgppp-step b{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    line-height:28px!important
  }
  #cgpp-prod .cgppp-step strong{
    line-height:1.2!important
  }

  /* Informational cards: same hierarchy, less empty air. */
  #cgpp-prod .cgppp-locknote,
  #cgpp-prod .cgppp-instruction,
  #cgpp-prod .cgppp-validation,
  #cgpp-prod #cgppp-quality,
  #cgpp-prod .cgppp-rec,
  #cgpp-prod .cgppp-employee{
    padding:10px 12px!important;
    margin-top:7px!important;
    margin-bottom:7px!important
  }
  #cgpp-prod .cgppp-locknote p,
  #cgpp-prod .cgppp-instruction p,
  #cgpp-prod .cgppp-validation p,
  #cgpp-prod #cgppp-quality p,
  #cgpp-prod .cgppp-rec p,
  #cgpp-prod .cgppp-employee p{
    margin-top:4px!important;
    margin-bottom:4px!important;
    line-height:1.35!important
  }

  /* Dimension area: preserve readable numbers while tightening the container. */
  #cgpp-prod .cgppp-dims{
    gap:8px!important;
    padding:10px 12px!important;
    margin-top:7px!important;
    margin-bottom:7px!important
  }
  #cgpp-prod .cgppp-dims label{
    margin-bottom:4px!important;
    line-height:1.2!important
  }
  #cgpp-prod .cgppp-number{
    min-height:40px!important
  }
  #cgpp-prod .cgppp-number input{
    height:40px!important;
    min-height:40px!important;
    padding-top:5px!important;
    padding-bottom:5px!important
  }
  #cgpp-prod .cgppp-number button{
    min-height:40px!important;
    height:40px!important
  }
  #cgpp-prod .cgppp-unit{
    margin-top:3px!important;
    line-height:1.15!important
  }

  /* Quality result is important, but it doesn't need oversized whitespace. */
  #cgpp-prod #cgppp-quality{
    min-height:0!important
  }
  #cgpp-prod #cgppp-quality .cgppp-qhead{
    margin-bottom:5px!important
  }

  /* Recommendation / 300 PPI action compacted into a tighter decision card. */
  #cgpp-prod .cgppp-rec button,
  #cgpp-prod .cgppp-employee button{
    min-height:36px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
    margin-top:5px!important
  }
}

/* Extra compression only on short desktop/laptop viewports. */
@media(min-width:851px) and (max-height:760px){
  #cgpp-prod .cgppp-grid>aside{
    padding-top:8px!important;
    padding-bottom:8px!important
  }
  #cgpp-prod .cgppp-grid>aside>*{
    margin-top:5px!important;
    margin-bottom:5px!important
  }
  #cgpp-prod .cgppp-filefacts,
  #cgpp-prod .cgppp-locknote,
  #cgpp-prod .cgppp-instruction,
  #cgpp-prod .cgppp-validation,
  #cgpp-prod #cgppp-quality,
  #cgpp-prod .cgppp-rec,
  #cgpp-prod .cgppp-employee{
    padding-top:8px!important;
    padding-bottom:8px!important
  }
  #cgpp-prod .cgppp-step{
    margin-top:6px!important;
    margin-bottom:5px!important
  }
  #cgpp-prod .cgppp-dims{
    padding-top:8px!important;
    padding-bottom:8px!important
  }
}



/* =========================================================
   v0.8.6 — CROSS-BROWSER / SAFARI HARDENING
   Compatibility safeguards only. Crop math and production behavior unchanged.
   ========================================================= */

/* Lock both root and body; Safari/iOS can otherwise allow background rubber-banding. */
html.cgppp-lock,
html.cgppp-lock body{
  overflow:hidden!important
}

/* Visible-viewport variable is supplied by JS when Visual Viewport is available. */
#cgpp-prod .cgppp-modal{
  max-height:calc(var(--cgpp-visible-height,100vh) - 32px)!important
}
@media(max-height:720px) and (min-width:851px){
  #cgpp-prod .cgppp-modal{
    max-height:calc(var(--cgpp-visible-height,100vh) - 20px)!important
  }
}
@media(max-width:850px){
  #cgpp-prod .cgppp-modal{
    max-height:calc(var(--cgpp-visible-height,100vh) - 18px)!important
  }
}

/* Momentum scrolling on iOS; harmlessly ignored elsewhere. */
#cgpp-prod .cgppp-modal,
#cgpp-prod .cgppp-grid>main,
#cgpp-prod .cgppp-grid>aside{
  -webkit-overflow-scrolling:touch
}

/* Prevent text-selection/callout interference while manipulating the artwork. */
#cgpp-prod #cgppp-wrap,
#cgpp-prod #cgppp-crop,
#cgpp-prod #cgppp-crop *{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none
}

/* Pointer Events path uses touch-action; touch fallback still works where unsupported. */
#cgpp-prod #cgppp-crop{
  touch-action:none
}

/* iOS Safari: 16px inputs avoid automatic viewport zoom while editing dimensions. */
@media(max-width:850px){
  #cgpp-prod .cgppp-number input{
    font-size:16px!important
  }
}

/* Safe-area awareness for notched phones. Plain padding remains the fallback. */
@supports(padding:max(0px)){
  @media(max-width:850px){
    #cgpp-prod{
      padding-top:max(9px,env(safe-area-inset-top))!important;
      padding-right:max(9px,env(safe-area-inset-right))!important;
      padding-bottom:max(9px,env(safe-area-inset-bottom))!important;
      padding-left:max(9px,env(safe-area-inset-left))!important
    }
  }
}

/* Older engines simply ignore overscroll containment. */
@supports(overscroll-behavior:contain){
  #cgpp-prod .cgppp-grid>main,
  #cgpp-prod .cgppp-grid>aside{
    overscroll-behavior:contain
  }
}

/* Firefox number-field normalization; WebKit spinner removal already exists. */
#cgpp-prod .cgppp-number input[type="number"]{
  -moz-appearance:textfield
}

/* Make focus visible consistently even on browsers with different default outlines. */
#cgpp-prod button:focus-visible,
#cgpp-prod input:focus-visible,
#cgpp-prod #cgppp-crop:focus-visible,
#cgpp-prod-dock button:focus-visible,
#cgpp-prod-dock a:focus-visible{
  outline:2px solid #68000a!important;
  outline-offset:2px
}



/* =========================================================
   v0.8.7 — TIGHTER CONTROL STACK + LIGHTER OFFSET LOUPE
   ========================================================= */

@media(min-width:851px){
  #cgpp-prod .cgppp-grid>aside{
    padding-top:8px!important;
    padding-bottom:8px!important
  }
  #cgpp-prod .cgppp-grid>aside>*{
    margin-top:3px!important;
    margin-bottom:3px!important
  }
  #cgpp-prod .cgppp-step{
    margin-top:5px!important;
    margin-bottom:3px!important;
    gap:7px!important
  }
  #cgpp-prod .cgppp-filefacts,
  #cgpp-prod .cgppp-locknote,
  #cgpp-prod .cgppp-instruction,
  #cgpp-prod .cgppp-validation,
  #cgpp-prod #cgppp-quality,
  #cgpp-prod .cgppp-rec,
  #cgpp-prod .cgppp-employee{
    padding:7px 9px!important;
    margin-top:3px!important;
    margin-bottom:3px!important
  }
  #cgpp-prod .cgppp-sides,
  #cgpp-prod .cgppp-dims{
    gap:5px!important;
    padding:7px 8px!important;
    margin-top:3px!important;
    margin-bottom:3px!important
  }
  #cgpp-prod .cgppp-sizefield>label{
    margin-bottom:2px!important
  }
  #cgpp-prod .cgppp-number{
    grid-template-columns:34px minmax(92px,1fr) 34px!important;
    gap:0!important
  }
  #cgpp-prod .cgppp-number button,
  #cgpp-prod .cgppp-number input{
    height:36px!important;
    min-height:36px!important
  }
  #cgpp-prod .cgppp-sizefield>small,
  #cgpp-prod #cgppp-limits{
    margin-top:2px!important;
    margin-bottom:2px!important;
    line-height:1.2!important
  }
  #cgpp-prod .cgppp-rec button,
  #cgpp-prod .cgppp-employee button,
  #cgpp-prod #cgppp-save{
    min-height:34px!important;
    margin-top:3px!important;
    padding-top:6px!important;
    padding-bottom:6px!important
  }
}

/* Smaller, lighter magnifier that stays out of the way of the active corner. */
#cgpp-prod #cgppp-loupe{
  width:92px!important;
  height:92px!important;
  border:1px solid rgba(0,245,255,.78)!important;
  background-color:rgba(255,255,255,.08)!important;
  box-shadow:0 3px 12px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.45)!important;
  opacity:.82!important;
}
#cgpp-prod #cgppp-loupe:before,
#cgpp-prod #cgppp-loupe:after{
  background:rgba(255,255,255,.62)!important;
  box-shadow:none!important
}
#cgpp-prod #cgppp-loupe b{
  width:5px!important;
  height:5px!important;
  border-color:rgba(0,245,255,.82)!important;
  box-shadow:none!important
}

/* Slightly smaller handles expose more artwork at the exact boundary. */
#cgpp-prod #cgppp-crop i{
  width:10px!important;
  height:10px!important;
  box-shadow:0 0 1px rgba(255,255,255,.9)!important
}
#cgpp-prod #cgppp-crop .nw{left:-6px!important;top:-6px!important}
#cgpp-prod #cgppp-crop .ne{right:-6px!important;top:-6px!important}
#cgpp-prod #cgppp-crop .sw{left:-6px!important;bottom:-6px!important}
#cgpp-prod #cgppp-crop .se{right:-6px!important;bottom:-6px!important}

@media(max-width:600px){
  #cgpp-prod #cgppp-loupe{
    width:82px!important;
    height:82px!important;
    opacity:.80!important
  }
}



/* =========================================================
   v0.8.8 — CROP WORKSPACE POLISH + STICKY SAVE
   ========================================================= */

/* RIGHT = decisions. Save is always visible at the top of the decision rail. */
#cgpp-prod .cgppp-savebar{
  position:sticky;
  top:0;
  z-index:12;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:-8px -10px 8px!important;
  padding:10px 10px 11px;
  border-bottom:1px solid #d7cec6;
  background:
    linear-gradient(180deg,rgba(255,253,249,.985),rgba(248,244,239,.975));
  box-shadow:0 5px 12px rgba(48,39,33,.07);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px)
}
#cgpp-prod .cgppp-savebar-copy{
  min-width:0
}
#cgpp-prod .cgppp-savebar-copy span{
  display:block;
  margin-bottom:2px;
  color:#8a3a40;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.1
}
#cgpp-prod .cgppp-savebar-copy strong{
  display:block;
  color:#312e2b;
  font-size:12px;
  font-weight:600;
  line-height:1.2
}
#cgpp-prod .cgppp-savebar #cgppp-save{
  width:auto!important;
  min-width:156px;
  min-height:38px!important;
  margin:0!important;
  padding:8px 13px!important;
  border:1px solid #68000a!important;
  border-radius:3px;
  background:#68000a!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.035em;
  line-height:1.15;
  white-space:nowrap;
  box-shadow:0 3px 9px rgba(104,0,10,.15);
  transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .10s ease
}
@media(hover:hover) and (pointer:fine){
  #cgpp-prod .cgppp-savebar #cgppp-save:not(:disabled):hover{
    background:#500007!important;
    border-color:#500007!important;
    box-shadow:0 5px 14px rgba(104,0,10,.22);
    transform:translateY(-1px)
  }
}
#cgpp-prod .cgppp-savebar #cgppp-save:active{
  transform:translateY(0)
}
#cgpp-prod .cgppp-savebar #cgppp-save:disabled{
  opacity:.65;
  cursor:wait
}

/* LEFT = artwork. A restrained digital-darkroom workbench around the image. */
#cgpp-prod .cgppp-grid>main{
  background:
    radial-gradient(circle at 50% 20%,rgba(255,255,255,.055),transparent 40%),
    linear-gradient(135deg,#3b3734 0%,#2f2b29 52%,#393431 100%)!important;
  color:#f4f0eb
}
#cgpp-prod .cgppp-grid>main .cgppp-step span{
  color:#f4f0eb!important
}
#cgpp-prod .cgppp-grid>main .cgppp-step b{
  background:#f7f3ee!important;
  color:#68000a!important;
  border-color:rgba(255,255,255,.72)!important
}
#cgpp-prod .cgppp-grid>main .cgppp-instruction{
  color:#ede7e1!important;
  border-color:rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)
}
#cgpp-prod .cgppp-grid>main .cgppp-instruction strong{
  color:#fff!important
}

/* Fine-art-paper / workbench texture: almost invisible, just enough to feel crafted. */
#cgpp-prod .cgppp-area{
  position:relative;
  border:1px solid rgba(255,255,255,.14)!important;
  background:
    radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.075),rgba(255,255,255,0) 56%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.009) 0 1px,transparent 1px 5px),
    #292624!important;
  box-shadow:
    inset 0 0 44px rgba(0,0,0,.24),
    0 1px 0 rgba(255,255,255,.045)!important
}
#cgpp-prod .cgppp-area.cgppp-active{
  box-shadow:
    inset 0 0 44px rgba(0,0,0,.20),
    0 0 0 1px rgba(104,0,10,.18),
    0 6px 18px rgba(0,0,0,.12)!important
}

/* Crop boundary stays precision-first: thin and bright. */
#cgpp-prod #cgppp-crop{
  border:1px solid #00f5ff!important;
  box-shadow:0 0 0 1px rgba(0,245,255,.10)!important;
  transition:box-shadow .13s ease,border-color .13s ease
}
#cgpp-prod #cgppp-crop.cgppp-dragging{
  border-color:#52fbff!important;
  box-shadow:
    0 0 0 1px rgba(82,251,255,.14),
    0 0 10px rgba(0,245,255,.08)!important
}

/* Dimensional but small handles. Burgundy center detail appears only while active. */
#cgpp-prod #cgppp-crop i{
  width:10px!important;
  height:10px!important;
  border:1px solid #f9ffff!important;
  border-radius:2px!important;
  background:#00eaf3!important;
  box-shadow:
    0 1px 4px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.75)!important;
  transition:background-color .12s ease,box-shadow .12s ease,transform .12s ease
}
#cgpp-prod #cgppp-crop.cgppp-dragging i{
  background:#68000a!important;
  box-shadow:
    0 1px 5px rgba(0,0,0,.46),
    0 0 0 2px rgba(255,255,255,.75)!important
}

/* Magnifier: cleaner glass, offset from the corner, with a tiny DETAIL cue. */
#cgpp-prod #cgppp-loupe{
  width:92px!important;
  height:92px!important;
  border:1px solid rgba(255,255,255,.84)!important;
  border-radius:50%!important;
  opacity:.84!important;
  box-shadow:
    0 5px 17px rgba(0,0,0,.34),
    0 0 0 1px rgba(0,245,255,.32),
    inset 0 0 18px rgba(255,255,255,.07)!important;
  transform:scale(.96);
  transform-origin:center;
  animation:cgppDetailIn .14s ease-out both
}
#cgpp-prod #cgppp-loupe small{
  position:absolute;
  left:50%;
  top:7px;
  z-index:3;
  transform:translateX(-50%);
  padding:2px 5px;
  border-radius:8px;
  background:rgba(25,22,20,.60);
  color:rgba(255,255,255,.90);
  font-size:7px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1;
  pointer-events:none
}
#cgpp-prod #cgppp-loupe:before,
#cgpp-prod #cgppp-loupe:after{
  background:rgba(255,255,255,.60)!important
}
#cgpp-prod #cgppp-loupe b{
  border-color:#00f5ff!important;
  opacity:.88
}
@keyframes cgppDetailIn{
  from{opacity:0;transform:scale(.91)}
  to{opacity:.84;transform:scale(.96)}
}

/* Reset is a secondary artwork action, not a competing primary button. */
#cgpp-prod .cgppp-below{
  color:#d8d0c9
}
#cgpp-prod .cgppp-below #cgppp-reset{
  width:auto!important;
  min-width:0!important;
  min-height:32px!important;
  padding:5px 8px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.055)!important;
  color:#f4efea!important;
  font-size:10.5px!important;
  letter-spacing:.015em
}
@media(hover:hover) and (pointer:fine){
  #cgpp-prod .cgppp-below #cgppp-reset:hover{
    border-color:rgba(255,255,255,.42)!important;
    background:rgba(255,255,255,.10)!important
  }
}
#cgpp-prod .cgppp-below p{
  color:#cfc7c0!important
}

/* The old bottom "final" area is now summary/error only. */
#cgpp-prod .cgppp-final{
  padding-top:6px!important;
  margin-top:4px!important;
  border-top:1px solid #e1d9d2
}

/* Proof mode gets the same action architecture with proof-specific language. */
#cgpp-prod.cgppp-proof .cgppp-savebar #cgppp-save{
  min-width:172px
}

@media(max-width:850px){
  #cgpp-prod .cgppp-savebar{
    position:sticky;
    top:0;
    margin:0 -14px 9px!important;
    padding:9px 14px 10px
  }
}
@media(max-width:600px){
  #cgpp-prod .cgppp-savebar{
    grid-template-columns:1fr;
    gap:7px
  }
  #cgpp-prod .cgppp-savebar #cgppp-save{
    width:100%!important;
    min-width:0
  }
  #cgpp-prod .cgppp-grid>main{
    background:
      radial-gradient(circle at 50% 16%,rgba(255,255,255,.05),transparent 42%),
      #302c29!important
  }
}
@media(prefers-reduced-motion:reduce){
  #cgpp-prod #cgppp-loupe{
    animation:none!important
  }
}



/* =========================================================
   v0.8.9 — PRECISION VIEW + LEANER DATA + RICHER ACCENTS
   ========================================================= */

/* Retire all previous circular loupe styling. */
#cgpp-prod #cgppp-loupe{display:none!important}

/* Stable rectangular precision view: easier to read and never sits on the active point. */
#cgpp-prod #cgppp-detail{
  position:absolute;
  z-index:14;
  width:146px;
  height:102px;
  overflow:hidden;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.72);
  border-radius:4px;
  background-color:#151311;
  background-repeat:no-repeat;
  box-shadow:
    0 8px 24px rgba(0,0,0,.38),
    0 0 0 1px rgba(0,245,255,.28);
  opacity:.96;
  animation:cgppPrecisionIn .12s ease-out both
}
#cgpp-prod #cgppp-detail[hidden]{display:none!important}
#cgpp-prod #cgppp-detail>div{
  position:absolute;
  z-index:4;
  top:5px;
  left:6px;
  right:6px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none
}
#cgpp-prod #cgppp-detail small,
#cgpp-prod #cgppp-detail em{
  padding:2px 4px;
  border-radius:2px;
  background:rgba(20,17,15,.64);
  color:rgba(255,255,255,.92);
  font-size:7px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.10em;
  line-height:1
}
#cgpp-prod #cgppp-detail span:before,
#cgpp-prod #cgppp-detail span:after{
  content:"";
  position:absolute;
  z-index:3;
  background:rgba(0,245,255,.76)
}
#cgpp-prod #cgppp-detail span:before{
  left:50%;
  top:13px;
  bottom:8px;
  width:1px
}
#cgpp-prod #cgppp-detail span:after{
  top:50%;
  left:8px;
  right:8px;
  height:1px
}
#cgpp-prod #cgppp-detail b{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  border:1px solid #fff;
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 1px rgba(104,0,10,.80)
}
@keyframes cgppPrecisionIn{
  from{opacity:0;transform:translateY(3px)}
  to{opacity:.96;transform:translateY(0)}
}

/* Right rail: show the decision data, not a manual. */
@media(min-width:851px){
  #cgpp-prod .cgppp-grid>aside{
    padding:7px 9px 9px!important
  }
  #cgpp-prod .cgppp-grid>aside>*{
    margin-top:2px!important;
    margin-bottom:2px!important
  }
  #cgpp-prod .cgppp-savebar{
    margin:-7px -9px 5px!important;
    padding:8px 9px!important
  }
  #cgpp-prod .cgppp-filefacts{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:2px 8px;
    padding:6px 8px!important
  }
  #cgpp-prod .cgppp-filefacts strong{
    grid-column:1/-1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
  #cgpp-prod .cgppp-locknote,
  #cgpp-prod .cgppp-validation,
  #cgpp-prod #cgppp-quality,
  #cgpp-prod .cgppp-rec,
  #cgpp-prod .cgppp-employee{
    padding:6px 8px!important;
    margin-top:2px!important;
    margin-bottom:2px!important
  }
  #cgpp-prod .cgppp-locknote p,
  #cgpp-prod #cgppp-quality p,
  #cgpp-prod .cgppp-rec p,
  #cgpp-prod .cgppp-employee p{
    margin:2px 0!important;
    font-size:11.5px!important;
    line-height:1.28!important
  }
  #cgpp-prod .cgppp-step{
    margin-top:4px!important;
    margin-bottom:2px!important
  }
  #cgpp-prod .cgppp-sides{
    padding:6px 7px!important;
    gap:5px!important
  }
  #cgpp-prod #cgppp-limits{
    font-size:10.5px!important;
    line-height:1.2!important
  }
  #cgpp-prod #cgppp-quality small{
    font-size:10.5px!important
  }
  #cgpp-prod .cgppp-employee{
    border-left:3px solid #59694f!important;
    background:#f6f3ee!important
  }
}

/* Controlled extra color: burgundy + olive, keeping the darkroom base. */
#cgpp-prod .cgppp-savebar{
  border-top:2px solid #68000a
}
#cgpp-prod .cgppp-step b{
  background:#68000a!important;
  color:#fff!important;
  border-color:#8a3a40!important
}
#cgpp-prod .cgppp-grid>main .cgppp-step b{
  background:#8a3a40!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.62)!important
}
#cgpp-prod .cgppp-locknote{
  border-left:3px solid #8a3a40!important;
  background:#fbf6f3!important
}
#cgpp-prod #cgppp-quality[data-q="excellent"]{
  border-left-color:#59694f!important;
  background:#f2f6ef!important
}
#cgpp-prod #cgppp-quality[data-q="review"]{
  border-left-color:#a67a2f!important;
  background:#fdf8ec!important
}
#cgpp-prod #cgppp-quality[data-q="low"]{
  border-left-color:#8b3434!important;
  background:#fbefef!important
}
#cgpp-prod .cgppp-rec{
  border-left:3px solid #a67a2f!important;
  background:#fff8e9!important
}
#cgpp-prod .cgppp-number button{
  color:#68000a!important
}
#cgpp-prod .cgppp-number button:hover{
  background:#f7efed!important
}
#cgpp-prod #cgppp-use300{
  border-color:#a67a2f!important;
  color:#75531d!important
}

@media(max-width:600px){
  #cgpp-prod #cgppp-detail{
    width:126px;
    height:88px
  }
}
@media(prefers-reduced-motion:reduce){
  #cgpp-prod #cgppp-detail{animation:none!important}
}

/* =========================================================
   v0.9.1 — CROP TOOL READABILITY + RIGHT RAIL SPACING
   VISUAL ONLY — FUNCTIONAL LOGIC UNCHANGED
   ========================================================= */
.cgpp-modal,.cgpp-modal-content,.cgpp-editor,.cgpp-workspace{font-size:15px;line-height:1.48}
.cgpp-modal p,.cgpp-modal li,.cgpp-modal label,.cgpp-modal .cgpp-help,.cgpp-modal .cgpp-note,.cgpp-modal .cgpp-hint,.cgpp-modal .cgpp-muted,.cgpp-modal small{font-size:13.5px!important;line-height:1.48!important;color:#514A45!important}
.cgpp-modal h1,.cgpp-modal h2,.cgpp-modal h3,.cgpp-modal strong,.cgpp-modal b,.cgpp-modal label{color:#292725}
.cgpp-modal input,.cgpp-modal select,.cgpp-modal textarea,.cgpp-modal button{font-size:15px}
.cgpp-controls,.cgpp-sidebar,.cgpp-right,.cgpp-right-column,.cgpp-editor-controls{line-height:1.48}
.cgpp-controls>* ,.cgpp-sidebar>* ,.cgpp-right>* ,.cgpp-right-column>* ,.cgpp-editor-controls>*{margin-bottom:14px}
.cgpp-controls>*:last-child,.cgpp-sidebar>*:last-child,.cgpp-right>*:last-child,.cgpp-right-column>*:last-child,.cgpp-editor-controls>*:last-child{margin-bottom:0}
.cgpp-step,.cgpp-panel,.cgpp-control-section,.cgpp-control-card,.cgpp-quality,.cgpp-size-panel,.cgpp-file-info{margin-bottom:14px}
.cgpp-step+.cgpp-step,.cgpp-panel+.cgpp-panel,.cgpp-control-section+.cgpp-control-section{margin-top:4px}
.cgpp-controls label,.cgpp-sidebar label,.cgpp-right label,.cgpp-right-column label,.cgpp-editor-controls label{font-size:13.5px!important;line-height:1.35!important;font-weight:650;color:#312E2B!important}
.cgpp-controls small,.cgpp-sidebar small,.cgpp-right small,.cgpp-right-column small,.cgpp-editor-controls small{font-size:12.5px!important;line-height:1.42!important;color:#5B534D!important}
.cgpp-modal input[type="number"]{min-height:44px;font-size:15px!important;line-height:1.2!important}
@media(max-width:767px){
.cgpp-modal,.cgpp-modal-content,.cgpp-editor,.cgpp-workspace{font-size:15px}
.cgpp-modal p,.cgpp-modal li,.cgpp-modal label,.cgpp-modal .cgpp-help,.cgpp-modal .cgpp-note,.cgpp-modal .cgpp-hint,.cgpp-modal .cgpp-muted,.cgpp-modal small{font-size:13.5px!important;line-height:1.5!important}
.cgpp-controls>* ,.cgpp-sidebar>* ,.cgpp-right>* ,.cgpp-right-column>* ,.cgpp-editor-controls>* ,.cgpp-step,.cgpp-panel,.cgpp-control-section,.cgpp-control-card{margin-bottom:15px}
}
@media(prefers-reduced-motion:reduce){.cgpp-modal *,.cgpp-modal *::before,.cgpp-modal *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* =========================================================
   v0.9.2 — ACTUAL CROP TOOL READABILITY PASS
   EXACT #cgpp-prod / .cgppp-* SELECTORS
   VISUAL ONLY — LOGIC UNCHANGED
   ========================================================= */

/* Overall modal text scale */
#cgpp-prod .cgppp-modal{
  font-size:16px!important;
  line-height:1.5!important;
}

/* Header */
#cgpp-prod .cgppp-modal>header h2{
  font-size:clamp(24px,2vw,31px)!important;
  line-height:1.12!important;
}
#cgpp-prod .cgppp-modal>header p{
  font-size:15px!important;
  line-height:1.5!important;
  color:#514A45!important;
}

/* Left artwork instructions */
#cgpp-prod .cgppp-step{
  margin-top:14px!important;
  margin-bottom:10px!important;
  gap:10px!important;
}
#cgpp-prod .cgppp-step b{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  line-height:30px!important;
  font-size:13px!important;
}
#cgpp-prod .cgppp-step span{
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:#292725!important;
}
#cgpp-prod .cgppp-grid>main .cgppp-step span{
  color:#FFFDF9!important;
}

#cgpp-prod .cgppp-instruction{
  margin-bottom:14px!important;
  padding:12px 14px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
#cgpp-prod .cgppp-instruction strong{
  font-size:15.5px!important;
  line-height:1.45!important;
}

#cgpp-prod .cgppp-below{
  margin-top:12px!important;
  gap:16px!important;
}
#cgpp-prod .cgppp-below p{
  font-size:14px!important;
  line-height:1.48!important;
  color:#E4DDD6!important;
}
#cgpp-prod .cgppp-below .cgppp-light{
  font-size:13.5px!important;
}

/* Right column gets more breathing room */
#cgpp-prod .cgppp-grid>aside{
  padding-top:14px!important;
  padding-bottom:16px!important;
}
#cgpp-prod .cgppp-grid>aside>*{
  margin-top:0!important;
  margin-bottom:16px!important;
}
#cgpp-prod .cgppp-grid>aside>*:last-child{
  margin-bottom:0!important;
}

/* Sticky save bar: readable but still compact */
#cgpp-prod .cgppp-savebar{
  margin:-14px -18px 16px!important;
  padding:12px 18px 13px!important;
  gap:14px!important;
}
#cgpp-prod .cgppp-savebar-copy span{
  margin-bottom:4px!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.11em!important;
}
#cgpp-prod .cgppp-savebar-copy strong{
  font-size:14px!important;
  line-height:1.35!important;
}
#cgpp-prod .cgppp-savebar #cgppp-save{
  min-height:42px!important;
  padding:9px 15px!important;
  font-size:12px!important;
}

/* File facts */
#cgpp-prod .cgppp-filefacts{
  display:grid!important;
  gap:4px!important;
  margin-bottom:16px!important;
  padding:11px 13px!important;
}
#cgpp-prod .cgppp-filefacts strong{
  font-size:14px!important;
  line-height:1.35!important;
  color:#292725!important;
}
#cgpp-prod .cgppp-filefacts span{
  font-size:13px!important;
  line-height:1.4!important;
  color:#514A45!important;
}

/* Proportion note */
#cgpp-prod .cgppp-locknote{
  margin-bottom:14px!important;
  padding:11px 13px!important;
}
#cgpp-prod .cgppp-locknote strong{
  font-size:12px!important;
  line-height:1.25!important;
  letter-spacing:.07em!important;
  color:#68000A!important;
}
#cgpp-prod .cgppp-locknote p{
  margin:4px 0 0!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  color:#514A45!important;
}

/* Dimension controls */
#cgpp-prod .cgppp-sides{
  gap:10px!important;
  padding:11px 12px!important;
  margin-bottom:8px!important;
}
#cgpp-prod .cgppp-sizefield label{
  display:block!important;
  margin-bottom:6px!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:#292725!important;
}
#cgpp-prod .cgppp-sizefield small{
  display:block!important;
  margin-top:5px!important;
  font-size:12.5px!important;
  line-height:1.3!important;
  color:#5B534D!important;
}
#cgpp-prod .cgppp-number{
  grid-template-columns:40px minmax(96px,1fr) 40px!important;
}
#cgpp-prod .cgppp-number button,
#cgpp-prod .cgppp-number input{
  min-height:44px!important;
  height:44px!important;
  font-size:16px!important;
}
#cgpp-prod .cgppp-link{
  font-size:15px!important;
}

#cgpp-prod #cgppp-limits{
  margin:8px 0 12px!important;
  font-size:13px!important;
  line-height:1.42!important;
  color:#514A45!important;
}
#cgpp-prod #cgppp-validation,
#cgpp-prod .cgppp-validation{
  margin-bottom:16px!important;
  padding:10px 12px!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}

/* Quality block */
#cgpp-prod #cgppp-quality{
  margin-bottom:16px!important;
  padding:12px 13px!important;
}
#cgpp-prod #cgppp-quality strong{
  font-size:14px!important;
  line-height:1.3!important;
}
#cgpp-prod #cgppp-quality em{
  font-size:13px!important;
  line-height:1.3!important;
}
#cgpp-prod #cgppp-quality p{
  margin:6px 0!important;
  font-size:13.5px!important;
  line-height:1.46!important;
  color:#514A45!important;
}
#cgpp-prod #cgppp-quality small{
  font-size:12.5px!important;
  line-height:1.38!important;
  color:#5B534D!important;
}

/* Recommendation / production info */
#cgpp-prod .cgppp-rec,
#cgpp-prod .cgppp-employee{
  margin-bottom:16px!important;
  padding:11px 13px!important;
}
#cgpp-prod .cgppp-rec strong,
#cgpp-prod .cgppp-employee strong{
  font-size:13px!important;
  line-height:1.3!important;
}
#cgpp-prod .cgppp-rec p,
#cgpp-prod .cgppp-employee p{
  margin:5px 0!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  color:#514A45!important;
}
#cgpp-prod .cgppp-rec .cgppp-light,
#cgpp-prod .cgppp-employee .cgppp-light{
  min-height:40px!important;
  font-size:13px!important;
}

/* Bottom summary/error */
#cgpp-prod .cgppp-final{
  padding-top:8px!important;
}
#cgpp-prod #cgppp-summary{
  font-size:13.5px!important;
  line-height:1.45!important;
}
#cgpp-prod #cgppp-error{
  font-size:13.5px!important;
  line-height:1.45!important;
}

/* Precision view labels */
#cgpp-prod #cgppp-detail small,
#cgpp-prod #cgppp-detail em{
  font-size:8px!important;
}

/* Mobile/tablet: keep readable, not cramped */
@media(max-width:850px){
  #cgpp-prod .cgppp-grid>aside{
    padding-top:12px!important;
    padding-bottom:14px!important;
  }
  #cgpp-prod .cgppp-grid>aside>*{
    margin-bottom:15px!important;
  }
  #cgpp-prod .cgppp-savebar{
    margin:0 -14px 15px!important;
    padding:11px 14px 12px!important;
  }
  #cgpp-prod .cgppp-step span{
    font-size:15.5px!important;
  }
  #cgpp-prod .cgppp-instruction{
    font-size:14.5px!important;
  }
  #cgpp-prod .cgppp-filefacts strong{
    font-size:14px!important;
  }
  #cgpp-prod .cgppp-filefacts span,
  #cgpp-prod .cgppp-locknote p,
  #cgpp-prod #cgppp-quality p,
  #cgpp-prod .cgppp-rec p,
  #cgpp-prod .cgppp-employee p{
    font-size:13.5px!important;
  }
}

@media(max-width:600px){
  #cgpp-prod .cgppp-savebar{
    gap:8px!important;
  }
  #cgpp-prod .cgppp-savebar-copy strong{
    font-size:13.5px!important;
  }
  #cgpp-prod .cgppp-savebar #cgppp-save{
    min-height:44px!important;
    font-size:12.5px!important;
  }
  #cgpp-prod .cgppp-number button,
  #cgpp-prod .cgppp-number input{
    min-height:46px!important;
    height:46px!important;
    font-size:16px!important;
  }
}


/* =========================================================
   v1.2.0 — PEWC 4.4.2 PRODUCT-SCOPED STABLE INTEGRATION
   Keeps the approved crop workspace; upload lifecycle belongs to PEWC.
   ========================================================= */

/* Upload-complete / saved prep control is always inline. */
#cgpp-prod-dock,
#cgpp-prod-dock.cgppp-resume,
#cgpp-prod-dock.cgppp-inline,
#cgpp-prod-dock.cgppp-resume.cgppp-inline{
  position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;
  z-index:3!important;width:100%!important;max-width:none!important;margin:12px 0 4px!important;
  padding:0!important;background:transparent!important;opacity:1!important;visibility:visible!important;
  transform:none!important
}
#cgpp-prod-dock[hidden]{display:none!important}
#cgpp-prod-dock .cgppp-prompt-card{
  display:grid!important;grid-template-columns:minmax(0,1fr) 166px!important;
  grid-template-areas:"eyebrow action" "title action" "copy action" "status action"!important;
  column-gap:16px!important;row-gap:3px!important;align-items:center!important;width:100%!important;
  padding:13px 14px 13px 15px!important;border:1px solid #d8d0c8!important;border-left:4px solid #68000a!important;
  border-top-width:1px!important;border-radius:4px!important;background:linear-gradient(135deg,#fffdf9 0%,#f8f5f0 100%)!important;
  box-shadow:none!important
}
#cgpp-prod-dock.cgppp-saved .cgppp-prompt-card{border-left-color:#59694f!important}
#cgpp-prod-dock .cgppp-prompt-card>span{grid-area:eyebrow!important;margin:0!important;color:#8a3a40!important;font:700 10px/1.2 var(--head)!important;letter-spacing:.09em!important}
#cgpp-prod-dock .cgppp-prompt-card>strong{grid-area:title!important;margin:1px 0 0!important;color:#292725!important;font:700 16px/1.22 var(--head)!important}
#cgpp-prod-dock .cgppp-prompt-card>p{grid-area:copy!important;display:block!important;margin:3px 0 0!important;color:#514a45!important;font:13.5px/1.42 var(--body)!important}
#cgpp-prod-dock #cgppp-status{grid-area:status!important;margin:3px 0 0!important;padding:0!important;border:0!important;background:transparent!important;color:#69645f!important;font-size:12px!important;line-height:1.3!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#cgpp-prod-dock #cgppp-open{grid-area:action!important;width:166px!important;min-width:166px!important;min-height:44px!important;margin:0!important;padding:9px 13px!important;border:1px solid #68000a!important;border-radius:3px!important;background:#68000a!important;color:#fff!important;font:700 11.5px/1.2 var(--head)!important;letter-spacing:.02em!important;white-space:normal!important}
#cgpp-prod-dock #cgppp-open:hover{background:#500007!important}
#cgpp-prod-dock #cgppp-open:disabled{opacity:.66!important;cursor:wait!important}
#cgpp-prod-dock .cgppp-prompt-close,#cgpp-prod-dock #cgppp-large{display:none!important}
#cgpp-prod-dock.cgppp-message .cgppp-prompt-card{grid-template-columns:1fr!important;grid-template-areas:"eyebrow" "title" "copy" "status"!important;border-left-color:#a68c38!important}

/* Exact PEWC 4.4.2 native delete control, upgraded visually only. */
.pewc-item[data-field-type="upload"] .pewc-dz-remove-wrapper,
.pewc-item-upload .pewc-dz-remove-wrapper{vertical-align:middle!important;text-align:right!important;white-space:nowrap!important}
.pewc-item[data-field-type="upload"] .cgpp-pewc-native-remove,
.pewc-item-upload .cgpp-pewc-native-remove{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.pewc-item[data-field-type="upload"] .cgpp-pewc-remove,
.pewc-item-upload .cgpp-pewc-remove,
.pewc-item[data-field-type="upload"] .cgpp-pewc-remove-link,
.pewc-item-upload .cgpp-pewc-remove-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;
  margin:5px 0!important;padding:7px 11px!important;border:1px solid #bfb4ab!important;border-radius:3px!important;
  background:#fffdf9!important;color:#5a514b!important;font:700 10.5px/1.2 var(--head)!important;text-decoration:none!important;cursor:pointer!important
}
.pewc-item[data-field-type="upload"] .cgpp-pewc-remove:hover,
.pewc-item-upload .cgpp-pewc-remove:hover,
.pewc-item[data-field-type="upload"] .cgpp-pewc-remove-link:hover,
.pewc-item-upload .cgpp-pewc-remove-link:hover{border-color:#8a3a40!important;background:#f8efec!important;color:#68000a!important}

/* Crop modal remains centered but can only be opened by an explicit user click. */
#cgpp-prod{display:none!important}
#cgpp-prod.open{display:flex!important}

@media(max-width:700px){
  #cgpp-prod-dock .cgppp-prompt-card{grid-template-columns:1fr!important;grid-template-areas:"eyebrow" "title" "copy" "status" "action"!important;row-gap:3px!important;padding:12px 13px 13px!important}
  #cgpp-prod-dock #cgppp-open{width:100%!important;min-width:0!important;margin-top:8px!important;min-height:44px!important}
  #cgpp-prod-dock #cgppp-status{white-space:normal!important}
}


/* =========================================================
   v1.2.1 — CROP & SIZE ONBOARDING / SURGICAL UI CLEANUP
   ========================================================= */
.cgpp-pewc-remove{display:none!important}
.cgpp-pewc-remove-native-only{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:34px!important;min-height:34px!important;margin:6px 0!important
}
.cgpp-pewc-native-remove{cursor:pointer!important}
.pewc-item[data-field-type="upload"] .dz-preview,.pewc-item-upload .dz-preview{margin-top:7px!important;margin-bottom:7px!important}
#cgpp-prod-dock,#cgpp-prod-dock.cgppp-inline,#cgpp-prod-dock.cgppp-resume.cgppp-inline{margin-top:9px!important}

#cgpp-onboard{position:fixed;inset:0;z-index:1000001;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(25,22,20,.7);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#cgpp-onboard.open{display:flex}
html.cgpp-onboard-lock{overflow:hidden!important}
#cgpp-onboard .cgpp-onboard-shell{position:relative;width:min(620px,100%);padding:30px 32px 27px;border:1px solid #d8d0c8;border-top:4px solid #68000a;border-radius:5px;background:#fffdf9;box-shadow:0 24px 70px rgba(0,0,0,.28);color:#403d3a}
#cgpp-onboard .cgpp-onboard-close{position:absolute;top:10px;right:11px;width:36px;height:36px;border:0;background:transparent;color:#69645f;font-size:27px;line-height:1;cursor:pointer}
#cgpp-onboard .cgpp-onboard-eye{display:block;margin-bottom:8px;color:#8a3a40;font:700 11px/1.2 var(--head);letter-spacing:.13em}
#cgpp-onboard h2{margin:0 40px 10px 0;color:#292725;font:700 clamp(26px,4vw,34px)/1.08 var(--head);text-transform:none}
#cgpp-onboard p{margin:0;color:#514a45;font:15.5px/1.55 var(--body)}
#cgpp-onboard .cgpp-onboard-flow{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 20px;padding:13px 14px;border:1px solid #ded6ce;background:#f6f1eb}
#cgpp-onboard .cgpp-onboard-flow b{color:#68000a;font:700 11px/1.2 var(--head);letter-spacing:.04em}
#cgpp-onboard .cgpp-onboard-flow i{color:#a28e82;font-style:normal}
#cgpp-onboard .cgpp-onboard-go{width:100%;min-height:48px;border:1px solid #68000a;border-radius:3px;background:#68000a;color:#fff;font:700 12.5px/1.2 var(--head);letter-spacing:.025em;cursor:pointer}
#cgpp-onboard .cgpp-onboard-go:hover{background:#500007}
#cgpp-onboard small{display:block;margin-top:10px;color:#69645f;font:12.5px/1.4 var(--body);text-align:center}
@media(max-width:600px){
 #cgpp-onboard{padding:14px}
 #cgpp-onboard .cgpp-onboard-shell{padding:24px 20px 22px}
 #cgpp-onboard h2{font-size:26px}
 #cgpp-onboard p{font-size:14.5px}
 #cgpp-onboard .cgpp-onboard-flow{gap:6px;padding:11px 7px}
 #cgpp-onboard .cgpp-onboard-flow b{font-size:9.5px}
}
@media(prefers-reduced-motion:reduce){#cgpp-onboard *{animation:none!important;transition:none!important}}


/* =========================================================
   v1.2.2 — TWO-WAY CROP & SIZE REVIEW
   ========================================================= */
#cgpp-prod-dock.cgppp-review .cgppp-prompt-card{
  border-left-color:#a68c38!important;
  background:linear-gradient(135deg,#fffdf9 0%,#fbf7ed 100%)!important
}
#cgpp-prod-dock.cgppp-review .cgppp-prompt-card>span{
  color:#80691e!important
}
#cgpp-prod-dock.cgppp-review #cgppp-open{
  background:#68000a!important;
  border-color:#68000a!important
}
#cgpp-prod .cgppp-review-warning{
  margin-top:8px!important;
  border:1px solid #d8c78e!important;
  background:#fff9e7!important;
  color:#51451c!important;
  font-weight:700!important
}


/* =========================================================
   v1.2.3 — STEP 1 EITHER/OR VALIDATION + CARD REMOVE ACTION
   ========================================================= */

/*
 * PEWC's exact native data-dz-remove remains in the DOM and owns deletion.
 * The customer-facing control now lives beside Crop & Size in the status card.
 */
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important
}
#cgpp-prod-dock .cgppp-prompt-card{
  grid-template-columns:minmax(0,1fr) 174px!important;
  grid-template-areas:
    "eyebrow actions"
    "title actions"
    "copy actions"
    "status actions"!important
}
#cgpp-prod-dock .cgppp-card-actions{
  grid-area:actions!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  width:174px!important;
  align-self:center!important
}
#cgpp-prod-dock .cgppp-card-actions #cgppp-open,
#cgpp-prod-dock .cgppp-card-actions #cgppp-remove{
  width:100%!important;
  min-width:0!important;
  margin:0!important
}
#cgpp-prod-dock #cgppp-remove{
  min-height:37px!important;
  padding:7px 10px!important;
  border:1px solid #bfb4ab!important;
  border-radius:3px!important;
  background:#fffdf9!important;
  color:#5a514b!important;
  font:700 10.5px/1.2 var(--head)!important;
  letter-spacing:.02em!important;
  cursor:pointer!important
}
#cgpp-prod-dock #cgppp-remove:hover{
  border-color:#8a3a40!important;
  background:#f8efec!important;
  color:#68000a!important
}
#cgpp-prod-dock #cgppp-remove[hidden]{display:none!important}

/* The valid upload makes the existing-image question an answered either/or path. */
.pewc-item.cgpp-upload-choice-satisfied,
.pewc-item.pewc-passed-validation{
  --cgpp-upload-choice-ok:1
}

@media(max-width:700px){
  #cgpp-prod-dock .cgppp-prompt-card{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "eyebrow"
      "title"
      "copy"
      "status"
      "actions"!important
  }
  #cgpp-prod-dock .cgppp-card-actions{
    width:100%!important;
    margin-top:8px!important
  }
  #cgpp-prod-dock .cgppp-card-actions #cgppp-open{
    min-height:44px!important
  }
  #cgpp-prod-dock .cgppp-card-actions #cgppp-remove{
    min-height:40px!important
  }
}


/* =========================================================
   v1.2.4 — ARTWORK THUMBNAIL + PRODUCTION-ASSET CLARITY
   ========================================================= */
#cgpp-prod-dock .cgppp-prompt-card{
  grid-template-columns:78px minmax(0,1fr) 174px!important;
  grid-template-areas:
    "thumb eyebrow actions"
    "thumb title actions"
    "thumb copy actions"
    "thumb status actions"!important;
  column-gap:14px!important
}
#cgpp-prod-dock .cgppp-art-thumb{
  grid-area:thumb!important;position:relative!important;width:78px!important;height:78px!important;
  align-self:center!important;overflow:hidden!important;border:1px solid #d7d0c8!important;
  border-radius:3px!important;background:#eee9e3!important
}
#cgpp-prod-dock .cgppp-art-thumb img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;display:block!important
}
#cgpp-prod-dock .cgppp-art-thumb img[hidden]{display:none!important}
#cgpp-prod-dock .cgppp-art-thumb-fallback{
  position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;
  justify-content:center!important;background:linear-gradient(135deg,#f3eee8,#e6ded6)!important
}
#cgpp-prod-dock .cgppp-art-thumb.has-image .cgppp-art-thumb-fallback{display:none!important}
#cgpp-prod-dock .cgppp-art-type{color:#68000a!important;font:800 13px/1 var(--head)!important;letter-spacing:.05em!important}
#cgpp-prod-dock .cgppp-art-note{
  position:absolute!important;left:4px!important;right:4px!important;bottom:4px!important;z-index:2!important;
  padding:3px 4px!important;border-radius:2px!important;background:rgba(35,31,28,.78)!important;color:#fff!important;
  font:700 7.5px/1.15 var(--head)!important;letter-spacing:.035em!important;text-align:center!important
}
#cgpp-prod-dock .cgppp-art-thumb.is-loading:after{
  content:""!important;position:absolute!important;inset:0!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent)!important;
  transform:translateX(-100%)!important;animation:cgppThumbSweep 1.1s ease-in-out infinite!important
}
@keyframes cgppThumbSweep{to{transform:translateX(100%)}}
@media(max-width:700px){
  #cgpp-prod-dock .cgppp-prompt-card{
    grid-template-columns:68px minmax(0,1fr)!important;
    grid-template-areas:"thumb eyebrow" "thumb title" "thumb copy" "thumb status" "actions actions"!important
  }
  #cgpp-prod-dock .cgppp-art-thumb{width:68px!important;height:68px!important}
}
@media(max-width:480px){
  #cgpp-prod-dock .cgppp-prompt-card{
    grid-template-columns:1fr!important;
    grid-template-areas:"thumb" "eyebrow" "title" "copy" "status" "actions"!important
  }
  #cgpp-prod-dock .cgppp-art-thumb{width:82px!important;height:82px!important;margin-bottom:5px!important}
}
@media(prefers-reduced-motion:reduce){#cgpp-prod-dock .cgppp-art-thumb.is-loading:after{animation:none!important}}


/* =========================================================
   v1.2.5 — PREMIUM UPLOAD AREA / DELETE ONLY LIVES HERE
   ========================================================= */

/* Crop & Size card is for artwork decisions, not destructive upload actions. */
#cgpp-prod-dock .cgppp-card-actions{
  width:174px!important
}
#cgpp-prod-dock #cgppp-remove{display:none!important}

/*
 * Restore PEWC's native remove control as the only visible delete action,
 * and present it as part of the upload/file-management area.
 */
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only{
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:normal!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:8px 0 0!important
}
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:after{
  content:"REMOVE ARTWORK"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 11px!important;
  border:1px solid #c8bbb1!important;
  border-radius:3px!important;
  background:#fffdf9!important;
  color:#625852!important;
  font:700 10.5px/1.2 var(--head)!important;
  letter-spacing:.025em!important;
  cursor:pointer!important;
  transition:border-color .16s ease,background .16s ease,color .16s ease!important
}
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:hover:after{
  border-color:#8a3a40!important;
  background:#f8efec!important;
  color:#68000a!important
}
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only img[data-dz-remove]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:2!important
}

/* Make the upload block feel like a deliberate artwork asset card. */
.pewc-item[data-field-type="upload"],
.pewc-item-upload{
  border:1px solid #d8d0c8!important;
  border-radius:5px!important;
  background:#fffdf9!important;
  padding:14px 14px 12px!important;
  box-shadow:0 1px 0 rgba(46,39,34,.02)!important
}
.pewc-item[data-field-type="upload"] .pewc-field-label,
.pewc-item-upload .pewc-field-label{
  margin-bottom:8px!important
}
.pewc-item[data-field-type="upload"] .dropzone,
.pewc-item-upload .dropzone{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important
}
.pewc-item[data-field-type="upload"] .dz-preview,
.pewc-item-upload .dz-preview{
  position:relative!important;
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  column-gap:14px!important;
  align-items:center!important;
  min-height:92px!important;
  margin:0!important;
  padding:10px!important;
  border:1px solid #e1d9d1!important;
  border-radius:4px!important;
  background:#f7f3ee!important
}
.pewc-item[data-field-type="upload"] .dz-image,
.pewc-item-upload .dz-image{
  width:84px!important;
  height:72px!important;
  overflow:hidden!important;
  border:1px solid #d4cbc3!important;
  border-radius:3px!important;
  background:#e9e2dc!important
}
.pewc-item[data-field-type="upload"] .dz-image img,
.pewc-item-upload .dz-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important
}
.pewc-item[data-field-type="upload"] .dz-details,
.pewc-item-upload .dz-details{
  position:static!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-width:0!important;
  padding:0!important;
  opacity:1!important;
  color:#403d3a!important;
  text-align:left!important
}
.pewc-item[data-field-type="upload"] .dz-filename,
.pewc-item-upload .dz-filename{
  max-width:100%!important;
  margin:0 0 4px!important;
  color:#292725!important;
  font:700 14px/1.3 var(--head)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important
}
.pewc-item[data-field-type="upload"] .dz-size,
.pewc-item-upload .dz-size{
  margin:0!important;
  color:#69645f!important;
  font:12.5px/1.35 var(--body)!important
}
.pewc-item[data-field-type="upload"] .dz-progress,
.pewc-item-upload .dz-progress{
  height:4px!important;
  margin-top:8px!important;
  border-radius:999px!important;
  background:#e6ddd5!important
}
.pewc-item[data-field-type="upload"] .dz-upload,
.pewc-item-upload .dz-upload{
  border-radius:999px!important;
  background:#68000a!important
}

/* If PEWC doesn't provide a browser thumbnail, keep the row polished. */
.pewc-item[data-field-type="upload"] .dz-image:not(:has(img[src])),
.pewc-item-upload .dz-image:not(:has(img[src])){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important
}
.pewc-item[data-field-type="upload"] .dz-image:not(:has(img[src])):after,
.pewc-item-upload .dz-image:not(:has(img[src])):after{
  content:"ARTWORK"!important;
  color:#8a3a40!important;
  font:800 11px/1 var(--head)!important;
  letter-spacing:.08em!important
}

/* Completed upload state: subtle success cue without making delete prominent. */
.pewc-item[data-field-type="upload"].pewc-passed-validation,
.pewc-item-upload.pewc-passed-validation{
  border-color:#cfc6bc!important;
  background:#fffdf9!important
}

/* Crop & Size status card now reads as the next step, not file management. */
#cgpp-prod-dock{
  margin-top:10px!important
}
#cgpp-prod-dock .cgppp-prompt-card{
  border-left-width:4px!important
}

@media(max-width:700px){
  .pewc-item[data-field-type="upload"] .dz-preview,
  .pewc-item-upload .dz-preview{
    grid-template-columns:68px minmax(0,1fr)!important;
    column-gap:11px!important;
    min-height:82px!important;
    padding:9px!important
  }
  .pewc-item[data-field-type="upload"] .dz-image,
  .pewc-item-upload .dz-image{
    width:68px!important;
    height:62px!important
  }
}
@media(max-width:480px){
  .pewc-item[data-field-type="upload"],
  .pewc-item-upload{
    padding:11px!important
  }
  .pewc-item[data-field-type="upload"] .dz-preview,
  .pewc-item-upload .dz-preview{
    grid-template-columns:58px minmax(0,1fr)!important
  }
  .pewc-item[data-field-type="upload"] .dz-image,
  .pewc-item-upload .dz-image{
    width:58px!important;
    height:56px!important
  }
  .pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:after{
    min-height:36px!important;
    padding:8px 10px!important
  }
}

/* =========================================================
   v1.2.6 — CLEAN UPLOAD / SINGLE DELETE
   ========================================================= */
#cgpp-prod-dock #cgppp-remove{display:none!important}

/* Kill v1.2.5's generated duplicate label. */
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:after{content:none!important;display:none!important}

/* Show the real PEWC delete once, as a quiet upload-management action. */
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only{
 position:relative!important;display:inline-flex!important;width:auto!important;height:auto!important;
 margin:0!important;padding:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;
 white-space:normal!important;align-items:center!important
}
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only img[data-dz-remove]{
 position:static!important;width:auto!important;height:auto!important;opacity:1!important;
 cursor:pointer!important;z-index:auto!important
}
/* Hide PEWC's icon/image visually, but keep its exact native click target stretched over our one label. */
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only img[data-dz-remove]{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;z-index:2!important
}
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:before{
 content:"REMOVE ARTWORK"!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:32px!important;padding:6px 10px!important;border:1px solid #c9bfb6!important;border-radius:3px!important;
 background:#fffdf9!important;color:#625852!important;font:700 10px/1.15 var(--head)!important;letter-spacing:.025em!important
}
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:hover:before{
 border-color:#8a3a40!important;background:#f8efec!important;color:#68000a!important
}

/* Compact file asset row. Reliable artwork preview remains in Print Prep below. */
.pewc-item[data-field-type="upload"],.pewc-item-upload{
 padding:13px!important;border:1px solid #d8d0c8!important;border-radius:4px!important;background:#fffdf9!important;box-shadow:none!important
}
.pewc-item[data-field-type="upload"] .dropzone,.pewc-item-upload .dropzone{padding:0!important;border:0!important;background:transparent!important}
.pewc-item[data-field-type="upload"] .dz-preview,.pewc-item-upload .dz-preview{
 display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"details remove"!important;
 gap:10px 14px!important;align-items:center!important;min-height:0!important;margin:0!important;padding:12px 13px!important;
 border:1px solid #ddd5cd!important;border-radius:4px!important;background:#f8f5f1!important
}
.pewc-item[data-field-type="upload"] .dz-image,.pewc-item-upload .dz-image{display:none!important}
.pewc-item[data-field-type="upload"] .dz-details,.pewc-item-upload .dz-details{
 grid-area:details!important;position:static!important;display:block!important;min-width:0!important;padding:0!important;opacity:1!important;text-align:left!important
}
.pewc-item[data-field-type="upload"] .dz-filename,.pewc-item-upload .dz-filename{
 display:block!important;max-width:100%!important;margin:0 0 3px!important;overflow:hidden!important;text-overflow:ellipsis!important;
 white-space:nowrap!important;color:#292725!important;font:700 14px/1.25 var(--head)!important
}
.pewc-item[data-field-type="upload"] .dz-size,.pewc-item-upload .dz-size{display:block!important;margin:0!important;color:#746d67!important;font:12px/1.3 var(--body)!important}
.pewc-item[data-field-type="upload"] .pewc-dz-remove-wrapper,.pewc-item-upload .pewc-dz-remove-wrapper{grid-area:remove!important;align-self:center!important}
.pewc-item[data-field-type="upload"] .dz-progress,.pewc-item-upload .dz-progress{grid-column:1/-1!important;margin:2px 0 0!important;height:3px!important}

/* Clean next-step card: image + message + one primary action. */
#cgpp-prod-dock .cgppp-prompt-card{
 grid-template-columns:72px minmax(0,1fr) 176px!important;
 grid-template-areas:"thumb eyebrow actions" "thumb title actions" "thumb copy actions" "thumb status actions"!important;
 gap:2px 14px!important;padding:14px!important;min-height:100px!important;align-items:center!important
}
#cgpp-prod-dock .cgppp-art-thumb{width:72px!important;height:72px!important;margin:0!important}
#cgpp-prod-dock .cgppp-prompt-card>span{align-self:end!important;margin:0 0 2px!important}
#cgpp-prod-dock #cgppp-prompt-title{align-self:start!important;margin:0!important;font-size:17px!important;line-height:1.16!important}
#cgpp-prod-dock .cgppp-prompt-card>p{margin:3px 0!important;max-width:430px!important;font-size:13px!important;line-height:1.4!important}
#cgpp-prod-dock #cgppp-status{margin-top:1px!important;font-size:11px!important}
#cgpp-prod-dock .cgppp-card-actions{width:176px!important;align-self:center!important}
#cgpp-prod-dock .cgppp-card-actions #cgppp-open{width:100%!important;min-height:42px!important;padding:9px 11px!important}

@media(max-width:700px){
 #cgpp-prod-dock .cgppp-prompt-card{
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-areas:"thumb eyebrow" "thumb title" "thumb copy" "thumb status" "actions actions"!important;padding:13px!important
 }
 #cgpp-prod-dock .cgppp-art-thumb{width:64px!important;height:64px!important}
 #cgpp-prod-dock .cgppp-card-actions{width:100%!important;margin-top:9px!important}
}
@media(max-width:480px){
 .pewc-item[data-field-type="upload"] .dz-preview,.pewc-item-upload .dz-preview{
  grid-template-columns:1fr!important;grid-template-areas:"details" "remove"!important;gap:9px!important
 }
 #cgpp-prod-dock .cgppp-prompt-card{
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-areas:"thumb eyebrow" "thumb title" "copy copy" "status status" "actions actions"!important
 }
 #cgpp-prod-dock .cgppp-art-thumb{width:58px!important;height:58px!important}
}


/* =========================================================
   v1.2.7 — PROOF + REGULAR: EXACTLY ONE NATIVE DELETE
   ========================================================= */

/* v1.2.5/v1.2.6 generated labels are fully disabled. */
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:before,
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:after{
  content:none!important;
  display:none!important
}

/* Any duplicate PEWC presentation of the same delete action is hidden. */
.cgpp-pewc-remove-duplicate{display:none!important}

/* Keep exactly one real PEWC data-dz-remove action visible and style its host. */
.cgpp-pewc-remove-primary{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 11px!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  border:1px solid #c9bfb6!important;
  border-radius:3px!important;
  background:#fffdf9!important;
  color:#625852!important;
  font:700 10px/1.15 var(--head)!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
  cursor:pointer!important
}
.cgpp-pewc-remove-primary:hover{
  border-color:#8a3a40!important;
  background:#f8efec!important;
  color:#68000a!important
}

/*
 * If the real clickable element is an icon/image, keep it as the native
 * click target but visually replace only that icon with one text label.
 */
.cgpp-pewc-remove-primary[data-dz-remove]{
  font-size:0!important;
  color:transparent!important
}
.cgpp-pewc-remove-primary[data-dz-remove]:after{
  content:"REMOVE ARTWORK"!important;
  display:block!important;
  color:#625852!important;
  font:700 10px/1.15 var(--head)!important;
  letter-spacing:.025em!important
}
.cgpp-pewc-remove-primary[data-dz-remove]:hover:after{color:#68000a!important}

/* If the selected host is a wrapper, hide only its icon and render one label on the wrapper. */
.cgpp-pewc-remove-primary:not([data-dz-remove]) [data-dz-remove]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:2!important
}
.cgpp-pewc-remove-primary:not([data-dz-remove]):after{
  content:"REMOVE ARTWORK"!important;
  display:block!important;
  color:#625852!important;
  font:700 10px/1.15 var(--head)!important;
  letter-spacing:.025em!important
}

/* Upload row stays clean on both proof and regular products. */
.pewc-item[data-field-type="upload"] .dz-preview,
.pewc-item-upload .dz-preview{
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"details remove"!important;
  align-items:center!important
}
.pewc-item[data-field-type="upload"] .cgpp-pewc-remove-primary,
.pewc-item-upload .cgpp-pewc-remove-primary{
  grid-area:remove!important
}
@media(max-width:480px){
  .pewc-item[data-field-type="upload"] .dz-preview,
  .pewc-item-upload .dz-preview{
    grid-template-columns:1fr!important;
    grid-template-areas:"details" "remove"!important
  }
}


/* =========================================================
   v1.2.8 — TRUE SINGLE DELETE PER UPLOADED FILE
   ========================================================= */

/* Shut off every older generated delete-label layer. */
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:before,
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:after,
.cgpp-pewc-remove-primary:before,
.cgpp-pewc-remove-primary:after{
  content:none!important;
  display:none!important
}
.cgpp-pewc-remove-primary{display:none!important}

/* Hide every duplicate PEWC/Dropzone remove presentation selected by JS. */
.cgpp-remove-duplicate{display:none!important}

/* Exactly one native remove host survives in each .dz-preview. */
.cgpp-remove-primary{
  grid-area:remove!important;
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:118px!important;
  height:auto!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 11px!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  border:1px solid #c9bfb6!important;
  border-radius:3px!important;
  background:#fffdf9!important;
  color:#625852!important;
  font:700 10px/1.15 var(--head)!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
  cursor:pointer!important
}
.cgpp-remove-primary:hover{
  border-color:#8a3a40!important;
  background:#f8efec!important;
  color:#68000a!important
}

/* Keep its real PEWC data-dz-remove target, but render only our single label. */
.cgpp-remove-primary [data-dz-remove],
.cgpp-remove-primary[data-dz-remove]{
  font-size:0!important;
  color:transparent!important
}
.cgpp-remove-primary [data-dz-remove]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:3!important
}
.cgpp-remove-primary:after{
  content:"REMOVE ARTWORK"!important;
  display:block!important;
  color:#625852!important;
  font:700 10px/1.15 var(--head)!important;
  letter-spacing:.025em!important
}
.cgpp-remove-primary:hover:after{color:#68000a!important}

/* If the primary is itself the clickable node, let it receive the click. */
.cgpp-remove-primary[data-dz-remove]{
  color:transparent!important;
  font-size:0!important
}
.cgpp-remove-primary[data-dz-remove]:after{
  content:"REMOVE ARTWORK"!important;
  display:block!important;
  color:#625852!important;
  font:700 10px/1.15 var(--head)!important
}

/* File row remains simple: file identity left, ONE remove action right. */
.pewc-item[data-field-type="upload"] .dz-preview,
.pewc-item-upload .dz-preview{
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"details remove"!important;
  gap:10px 14px!important;
  align-items:center!important
}
@media(max-width:480px){
  .pewc-item[data-field-type="upload"] .dz-preview,
  .pewc-item-upload .dz-preview{
    grid-template-columns:1fr!important;
    grid-template-areas:"details" "remove"!important
  }
  .cgpp-remove-primary{justify-self:start!important}
}


/* =========================================================
   v1.2.9 — CLEAN CROP & SIZE CARD / NO REDUNDANT THUMBNAIL
   ========================================================= */

/* Crop & Size / Proof Composition already knows which upload is active.
   Remove the redundant artwork thumbnail and give the copy room to breathe. */
#cgpp-prod-dock .cgppp-art-thumb{
  display:none!important
}
#cgpp-prod-dock .cgppp-prompt-card{
  grid-template-columns:minmax(0,1fr) 184px!important;
  grid-template-areas:
    "eyebrow actions"
    "title actions"
    "copy actions"
    "status actions"!important;
  column-gap:18px!important;
  row-gap:2px!important;
  min-height:0!important;
  padding:15px 14px 15px 16px!important;
  align-items:center!important
}
#cgpp-prod-dock .cgppp-prompt-card>span{
  margin:0 0 2px!important
}
#cgpp-prod-dock #cgppp-prompt-title{
  margin:0!important;
  font-size:17px!important;
  line-height:1.18!important
}
#cgpp-prod-dock .cgppp-prompt-card>p{
  max-width:520px!important;
  margin:4px 0 2px!important;
  font-size:13px!important;
  line-height:1.42!important
}
#cgpp-prod-dock #cgppp-status{
  margin-top:2px!important;
  font-size:11.5px!important
}
#cgpp-prod-dock .cgppp-card-actions{
  width:184px!important;
  align-self:center!important
}
#cgpp-prod-dock .cgppp-card-actions #cgppp-open{
  width:100%!important;
  min-height:44px!important;
  padding:9px 12px!important
}

@media(max-width:700px){
  #cgpp-prod-dock .cgppp-prompt-card{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "eyebrow"
      "title"
      "copy"
      "status"
      "actions"!important;
    padding:14px!important
  }
  #cgpp-prod-dock .cgppp-card-actions{
    width:100%!important;
    margin-top:9px!important
  }
}


/* =========================================================
   v1.2.10 — REMOVE PEWC GHOST DELETE BOX
   ========================================================= */

/* Duplicate/empty PEWC delete shells must occupy zero visual space. */
.cgpp-remove-duplicate,
.cgpp-remove-ghost{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:hidden!important
}

/* Kill empty remnants PEWC may leave in the file details column. */
.pewc-item[data-field-type="upload"] .dz-preview .pewc-dz-remove-wrapper:empty,
.pewc-item-upload .dz-preview .pewc-dz-remove-wrapper:empty,
.pewc-item[data-field-type="upload"] .dz-preview .dz-remove:empty,
.pewc-item-upload .dz-preview .dz-remove:empty{
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important
}

/* Keep the file-information column tight with no phantom second row. */
.pewc-item[data-field-type="upload"] .dz-details,
.pewc-item-upload .dz-details{
  align-self:center!important
}
.pewc-item[data-field-type="upload"] .dz-details>*:empty,
.pewc-item-upload .dz-details>*:empty{
  margin:0!important
}


/* =========================================================
   v1.2.11 — FINAL PEWC REMOVE VISUAL CLEANUP
   The screenshots showed PEWC child artwork still rendering inside our
   selected native remove wrapper. Collapse those children; keep the real
   data-dz-remove hit target and one clean label only.
   ========================================================= */
.cgpp-remove-primary{
  box-sizing:border-box!important;
  min-width:124px!important;
  min-height:36px!important;
  padding:0 12px!important;
  overflow:hidden!important;
  line-height:36px!important;
  text-align:center!important
}

/* Suppress every PEWC visual child in the primary delete wrapper. */
.cgpp-remove-primary > *{
  visibility:hidden!important;
  opacity:0!important;
  font-size:0!important;
  color:transparent!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important
}

/* Preserve the actual native PEWC/Dropzone delete hit target invisibly. */
.cgpp-remove-primary > [data-dz-remove],
.cgpp-remove-primary [data-dz-remove]{
  visibility:visible!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  z-index:5!important;
  cursor:pointer!important
}

/* One and only one customer-facing label. */
.cgpp-remove-primary:before{
  content:"REMOVE ARTWORK"!important;
  display:block!important;
  visibility:visible!important;
  position:relative!important;
  z-index:1!important;
  color:#625852!important;
  font:700 10px/36px var(--head)!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important
}
.cgpp-remove-primary:after{content:none!important;display:none!important}
.cgpp-remove-primary:hover:before{color:#68000a!important}

/* Ghost controls inside file details must never reserve a rectangle. */
.dz-details .pewc-dz-remove-wrapper,
.dz-details .dz-remove,
.dz-details .pewc-remove-file,
.dz-details [data-dz-remove]{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important
}

/* The designated primary action remains visible even if PEWC nests it oddly. */
.dz-preview > .cgpp-remove-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:36px!important
}


/* =========================================================
   v1.2.12 — ONE CLEAN REMOVE BUTTON, NATIVE PEWC ACTION UNDERNEATH
   ========================================================= */

/*
 * Hide every native PEWC/Dropzone delete presentation.
 * The native clickable nodes remain in the DOM and are invoked by the proxy.
 */
.cgpp-native-delete-hidden,
.cgpp-native-delete-host-hidden,
.cgpp-remove-primary,
.cgpp-remove-duplicate,
.cgpp-remove-ghost,
.cgpp-pewc-remove-primary,
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important
}
.cgpp-native-delete-hidden:before,
.cgpp-native-delete-hidden:after,
.cgpp-native-delete-host-hidden:before,
.cgpp-native-delete-host-hidden:after,
.cgpp-remove-primary:before,
.cgpp-remove-primary:after,
.cgpp-pewc-remove-primary:before,
.cgpp-pewc-remove-primary:after,
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:before,
.pewc-dz-remove-wrapper.cgpp-pewc-remove-native-only:after{
  content:none!important;
  display:none!important
}

/* One stable customer-facing remove control in the upload preview only. */
.cgpp-upload-remove-proxy{
  grid-area:remove!important;
  justify-self:end!important;
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:124px!important;
  min-height:36px!important;
  margin:0!important;
  padding:7px 11px!important;
  border:1px solid #c9bfb6!important;
  border-radius:3px!important;
  background:#fffdf9!important;
  color:#625852!important;
  font:700 10px/1.15 var(--head)!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important
}
.cgpp-upload-remove-proxy:hover{
  border-color:#8a3a40!important;
  background:#f8efec!important;
  color:#68000a!important
}
.cgpp-upload-remove-proxy:focus-visible{
  outline:2px solid #8a3a40!important;
  outline-offset:2px!important
}

/* File row = identity left, one clean remove button right. */
.pewc-item[data-field-type="upload"] .dz-preview,
.pewc-item-upload .dz-preview{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"details remove"!important;
  gap:10px 14px!important;
  align-items:center!important
}

/* Remove any stale empty PEWC boxes from layout entirely. */
.pewc-item[data-field-type="upload"] .dz-preview .pewc-dz-remove-wrapper,
.pewc-item-upload .dz-preview .pewc-dz-remove-wrapper,
.pewc-item[data-field-type="upload"] .dz-preview .dz-remove,
.pewc-item-upload .dz-preview .dz-remove,
.pewc-item[data-field-type="upload"] .dz-preview .pewc-remove-file,
.pewc-item-upload .dz-preview .pewc-remove-file{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important
}

/* But our proxy is always visible. */
.pewc-item[data-field-type="upload"] .dz-preview .cgpp-upload-remove-proxy,
.pewc-item-upload .dz-preview .cgpp-upload-remove-proxy{
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  opacity:1!important;
  visibility:visible!important
}

@media(max-width:480px){
  .pewc-item[data-field-type="upload"] .dz-preview,
  .pewc-item-upload .dz-preview{
    grid-template-columns:1fr!important;
    grid-template-areas:"details" "remove"!important
  }
  .cgpp-upload-remove-proxy{
    justify-self:start!important;
    min-height:38px!important
  }
}


/* =========================================================
   v1.2.12.2 — CROP SIZE CONTROL SPACING ONLY
   Visual-only. Keeps crop math, field behavior, PEWC and flow unchanged.
   ========================================================= */
#cgpp-prod .cgppp-size-row{
  column-gap:26px!important;
}
#cgpp-prod .cgppp-number{
  display:grid!important;
  grid-template-columns:40px minmax(82px,1fr) 40px!important;
  align-items:stretch!important;
  gap:0!important;
}
#cgpp-prod .cgppp-number button,
#cgpp-prod .cgppp-number input{
  margin:0!important;
}
#cgpp-prod .cgppp-size-link,
#cgpp-prod .cgppp-lock,
#cgpp-prod .cgppp-link{
  margin-left:6px!important;
  margin-right:6px!important;
}
@media(max-width:600px){
  #cgpp-prod .cgppp-size-row{column-gap:18px!important}
  #cgpp-prod .cgppp-number{
    grid-template-columns:40px minmax(74px,1fr) 40px!important;
  }
}


/* =========================================================
   v1.2.13.4 — SINGLE-ARTWORK ROW + EXISTING-FILE ROUTE UX
   Visual upload-row correction only. PEWC remains authoritative.
   ========================================================= */

/*
 * Protect three independent areas so a long artwork name can never run under
 * the remove action: thumbnail/status | file identity | remove button.
 */
.pewc-item[data-field-type="upload"] .dz-preview,
.pewc-item-upload .dz-preview{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) 132px!important;
  grid-template-areas:"thumb details remove"!important;
  column-gap:12px!important;
  row-gap:6px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}
.pewc-item[data-field-type="upload"] .dz-image,
.pewc-item-upload .dz-image{
  grid-area:thumb!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  margin:0!important;
}
.pewc-item[data-field-type="upload"] .dz-details,
.pewc-item-upload .dz-details{
  grid-area:details!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.pewc-item[data-field-type="upload"] .dz-filename,
.pewc-item-upload .dz-filename{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.pewc-item[data-field-type="upload"] .dz-filename span,
.pewc-item-upload .dz-filename span,
.pewc-item[data-field-type="upload"] .dz-filename:not(:empty),
.pewc-item-upload .dz-filename:not(:empty){
  max-width:100%!important;
}
.pewc-item[data-field-type="upload"] .cgpp-upload-remove-proxy,
.pewc-item-upload .cgpp-upload-remove-proxy{
  grid-area:remove!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  justify-self:end!important;
  white-space:nowrap!important;
}
@media(max-width:620px){
  .pewc-item[data-field-type="upload"] .dz-preview,
  .pewc-item-upload .dz-preview{
    grid-template-columns:52px minmax(0,1fr)!important;
    grid-template-areas:
      "thumb details"
      "remove remove"!important;
  }
  .pewc-item[data-field-type="upload"] .dz-image,
  .pewc-item-upload .dz-image{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }
  .pewc-item[data-field-type="upload"] .cgpp-upload-remove-proxy,
  .pewc-item-upload .cgpp-upload-remove-proxy{
    width:auto!important;
    min-width:132px!important;
    max-width:none!important;
    justify-self:start!important;
    margin-top:3px!important;
  }
}


/* =========================================================
   v1.2.13.5 — PEWC LONG FILENAME / REMOVE LANE FIX
   CSS ONLY. No upload, save, crop, route, journey or backend logic changes.
   ========================================================= */
.pewc-item-upload .dz-preview,
.pewc-item[data-field-type="upload"] .dz-preview{
  position:relative!important;
  display:block!important;
  min-height:76px!important;
  padding:12px 148px 12px 72px!important;
  overflow:hidden!important;
}
.pewc-item-upload .dz-preview .dz-image,
.pewc-item[data-field-type="upload"] .dz-preview .dz-image{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0!important;
}
.pewc-item-upload .dz-preview .dz-details,
.pewc-item[data-field-type="upload"] .dz-preview .dz-details{
  position:static!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  text-align:left!important;
}
.pewc-item-upload .dz-preview .dz-filename,
.pewc-item[data-field-type="upload"] .dz-preview .dz-filename{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 3px!important;
  padding:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.pewc-item-upload .dz-preview .dz-filename span,
.pewc-item[data-field-type="upload"] .dz-preview .dz-filename span{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.pewc-item-upload .dz-preview .dz-size,
.pewc-item[data-field-type="upload"] .dz-preview .dz-size{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.pewc-item-upload .dz-preview .cgpp-upload-remove-proxy,
.pewc-item[data-field-type="upload"] .dz-preview .cgpp-upload-remove-proxy{
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  margin:0!important;
  z-index:5!important;
  white-space:nowrap!important;
}
@media(max-width:620px){
  .pewc-item-upload .dz-preview,
  .pewc-item[data-field-type="upload"] .dz-preview{
    min-height:116px!important;
    padding:12px 12px 52px 72px!important;
  }
  .pewc-item-upload .dz-preview .cgpp-upload-remove-proxy,
  .pewc-item[data-field-type="upload"] .dz-preview .cgpp-upload-remove-proxy{
    left:72px!important;
    right:auto!important;
    top:auto!important;
    bottom:10px!important;
    transform:none!important;
    width:auto!important;
    min-width:124px!important;
    max-width:calc(100% - 84px)!important;
  }
}


/* =========================================================
   v1.2.13.6 — CLEAN COMPLETED-UPLOAD PRESENTATION
   PEWC remains authoritative; this only replaces visible completed-file UI.
   ========================================================= */
.pewc-item-upload .dz-preview.cgpp-pewc-file-preview,
.pewc-item[data-field-type="upload"] .dz-preview.cgpp-pewc-file-preview{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
}
.pewc-item-upload .dz-preview .cgpp-native-upload-ui-hidden,
.pewc-item[data-field-type="upload"] .dz-preview .cgpp-native-upload-ui-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.cgpp-upload-clean-row{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 132px!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  padding:12px!important;
  border:1px solid #ddd3cb!important;
  border-radius:4px!important;
  background:#fffdf9!important;
  box-sizing:border-box!important;
}
.cgpp-upload-clean-thumb{
  width:52px!important;
  height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:3px!important;
  background:#f3eee8!important;
  color:#6a625c!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
.cgpp-upload-clean-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.cgpp-upload-clean-info{
  min-width:0!important;
  overflow:hidden!important;
}
.cgpp-upload-clean-name{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  font-weight:700!important;
  line-height:1.25!important;
  color:#292725!important;
}
.cgpp-upload-clean-meta{
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.3!important;
  color:#746b65!important;
}
.cgpp-upload-clean-remove{
  width:132px!important;
  min-width:132px!important;
  min-height:38px!important;
  padding:8px 10px!important;
  border:1px solid #c8bbb1!important;
  border-radius:3px!important;
  background:#fffdf9!important;
  color:#625852!important;
  font:700 10.5px/1.2 var(--head)!important;
  letter-spacing:.025em!important;
  cursor:pointer!important;
}
.cgpp-upload-clean-remove:hover{
  border-color:#68000A!important;
  color:#68000A!important;
}
@media(max-width:620px){
  .cgpp-upload-clean-row{
    grid-template-columns:48px minmax(0,1fr)!important;
    grid-template-areas:
      "thumb info"
      "remove remove"!important;
  }
  .cgpp-upload-clean-thumb{grid-area:thumb!important;width:48px!important;height:48px!important}
  .cgpp-upload-clean-info{grid-area:info!important}
  .cgpp-upload-clean-remove{
    grid-area:remove!important;
    width:auto!important;
    min-width:132px!important;
    justify-self:start!important;
  }
}


/* =========================================================
   v1.2.14.0 — AUDITED UPLOAD PROGRESS
   The completed-file row owns a visible progress indicator while PEWC/Dropzone
   is transferring. PEWC still owns the upload itself.
   ========================================================= */
.cgpp-upload-clean-progress{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:18px!important;
  margin-top:7px!important;
  padding-top:10px!important;
  overflow:visible!important;
}
.cgpp-upload-clean-progress[hidden]{display:none!important}
.cgpp-upload-clean-progress:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;
  height:5px!important;
  border-radius:999px!important;
  background:#e6ddd5!important;
  box-shadow:inset 0 0 0 1px rgba(104,0,10,.04)!important;
}
.cgpp-upload-clean-progress>span{
  position:absolute!important;
  left:0!important;top:0!important;
  width:0;
  height:5px!important;
  border-radius:999px!important;
  background:#68000a!important;
  transition:width .18s linear!important;
}
.cgpp-upload-clean-progress>em{
  display:block!important;
  color:#69645f!important;
  font:700 10px/1.1 var(--head)!important;
  font-style:normal!important;
  letter-spacing:.02em!important;
}
