.stack-drop-zone{display:grid;place-items:center;text-align:center;gap:8px;min-height:210px;padding:28px;border:2px dashed #ffb3c7;border-radius:22px;background:linear-gradient(135deg,#fff7fa,#fff);cursor:pointer;transition:.2s}.stack-drop-zone input{display:none}.stack-drop-zone strong{font-size:18px;color:#101828}.stack-drop-zone span{font-size:13px;color:#667085}.stack-drop-zone.drag-over{border-color:#ff2f6d;background:#fff0f5;box-shadow:0 0 0 5px rgba(255,47,109,.08)}.stack-oneclick .primary-action{margin-top:16px}.stack-status{margin-top:14px;color:#667085;font-weight:800;white-space:pre-wrap;line-height:1.6}.stack-error{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff5f5;border:1px solid #fecaca;color:#b91c1c;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.stack-status.is-error{color:#b91c1c}

/* Upload panel polish */
.image-stack-panel{max-width:860px}
.stack-oneclick{display:grid;gap:14px}
.stack-drop-zone{
  min-height:260px;
  border-radius:26px;
  border-color:#ffc6d5;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,47,109,.08),transparent 34%),
    linear-gradient(135deg,#fff8fb,#ffffff 54%,#fff7ed);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9);
}
.stack-drop-zone:before{
  content:'+';
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:linear-gradient(135deg,#ff2f6d,#ff7a45);
  color:#fff;
  font-size:32px;
  font-weight:900;
  box-shadow:0 18px 38px rgba(255,47,109,.22);
}
.stack-drop-zone strong{font-size:20px;letter-spacing:-.02em}
.stack-drop-zone span{max-width:420px;line-height:1.6}
.stack-oneclick .primary-action{width:auto;justify-self:start;border-radius:999px;padding:13px 22px}
.stack-status{display:inline-flex;width:fit-content;max-width:100%;padding:10px 13px;border-radius:999px;background:#f8fafc;color:#475467}
.stack-status.is-error{border-radius:16px;background:#fff5f5}

.clone-oneclick{display:grid;gap:14px}.clone-mode-field{display:grid;gap:8px;max-width:460px}.clone-mode-field label{font-size:13px;font-weight:900;color:#344054}.clone-mode-select-wrap{position:relative}.clone-mode-select-wrap:after{content:'⌄';position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#ff2f6d;font-weight:900;font-size:18px}.clone-mode-select{width:100%;appearance:none;border:1px solid #ffd0dc!important;border-radius:18px!important;padding:14px 44px 14px 16px!important;background:linear-gradient(135deg,#fff7fb,#fff)!important;color:#101828;font-size:15px!important;font-weight:900;box-shadow:0 12px 28px rgba(255,47,109,.08);outline:none}.clone-mode-select:focus{border-color:#ff2f6d!important;box-shadow:0 0 0 5px rgba(255,47,109,.09)}.clone-mode-field p{margin:0;padding:10px 13px;border-radius:14px;background:#fff5f8;color:#9f1239;font-size:13px;font-weight:800;line-height:1.5}.clone-preview-wrap{width:100%;max-width:260px;justify-self:start;border:1px solid #eef2f7;border-radius:18px;background:#fff;padding:10px;box-shadow:0 12px 28px rgba(15,23,42,.08)}.clone-preview-wrap.hidden{display:none!important}.clone-preview-wrap img{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:12px;background:#f8fafc}.clone-drop-zone{width:100%;box-sizing:border-box}.clone-oneclick #cloneBtn{width:auto!important;max-width:max-content!important;justify-self:start!important}.product-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.product-textarea-field{display:grid;gap:8px}.product-textarea-field span{font-size:13px;font-weight:900;color:#344054}.product-textarea-field textarea,.product-form-grid input{width:100%;border:1px solid #e5e7eb;border-radius:16px;padding:13px 14px;background:#fff;font-size:15px;outline:none;box-sizing:border-box;min-width:0}.product-textarea-field textarea{resize:vertical;min-height:144px;line-height:1.6}.product-mode-panel{display:grid;gap:14px;padding:14px;border:1px solid #dfe5f4;border-radius:18px;background:#f3f6ff}.product-mode-tabs{display:flex;gap:26px;align-items:center}.product-mode-tab{border:0;background:transparent;color:#667085;font-weight:900;font-size:16px;padding:8px 0;border-bottom:3px solid transparent;cursor:pointer}.product-mode-tab.active{color:#101828;border-bottom-color:#101828}.product-mode-content{display:grid;gap:12px}.product-mode-content.hidden{display:none!important}.product-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.product-template-card{display:grid;gap:5px;text-align:left;padding:12px;border:1px solid #e5eaf5;border-radius:14px;background:#fff;cursor:pointer;min-height:74px;color:#101828;transition:.18s}.product-template-card strong{font-size:13px;font-weight:900}.product-template-card span{font-size:11px;line-height:1.35;color:#667085}.product-template-card.active{border-color:#ff2f6d;background:#fff7fa;box-shadow:0 10px 24px rgba(255,47,109,.1)}.product-ratio-card{display:grid;gap:12px;padding:16px;border:1px solid #eef2f7;border-radius:18px;background:linear-gradient(180deg,#fff,#fff7fa);box-shadow:0 10px 24px rgba(15,23,42,.04)}.product-ratio-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.product-ratio-head span{font-size:13px;font-weight:900;color:#344054}.product-ratio-head b{font-size:12px;font-weight:900;color:#ff2f6d;background:#fff0f4;border:1px solid #ffd3df;border-radius:999px;padding:6px 10px}.product-ratio-strip{display:flex;gap:14px;align-items:stretch}.product-ratio-preview-mini{flex:0 0 auto;display:grid;place-items:center;border-radius:16px;border:1px solid #ffd3df;background:linear-gradient(135deg,#fff7fb,#fff);box-shadow:0 10px 20px rgba(255,47,109,.06);position:relative;overflow:hidden;min-height:44px;transition:width .18s ease,height .18s ease}.product-ratio-preview-mini:before{content:'';position:absolute;inset:10px;border:1.5px dashed rgba(255,47,109,.2);border-radius:12px}.product-ratio-preview-mini span{position:relative;z-index:1;font-size:22px;font-weight:1000;color:#ff2f6d;letter-spacing:-.03em}.product-ratio-grid{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start}.product-ratio-grid .ratio-item{min-height:44px;border-radius:14px;font-size:14px;font-weight:900;padding:0 10px;background:#fff;border:1px solid #e5e7eb;color:#344054;box-shadow:none}.product-ratio-grid .ratio-item.active{background:linear-gradient(135deg,#ff2f6d,#ff7a45);color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(255,47,109,.16)}

.poster-reference-panel{display:grid;gap:14px;margin:16px 0}.poster-ref-drop-zone{min-height:160px}.poster-ref-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.poster-ref-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:start;border:1px solid #e5eaf5;border-radius:16px;background:#fff;padding:10px}.poster-ref-card img{width:92px;height:92px;object-fit:cover;border-radius:12px;background:#f8fafc}.poster-ref-card strong{display:block;margin-bottom:8px;font-size:13px;color:#101828}.poster-ref-note{width:100%;box-sizing:border-box;border:1px solid #e5e7eb;border-radius:12px;padding:10px;font-size:13px}.poster-ref-remove{margin-top:8px;border:0;border-radius:999px;background:#fff0f4;color:#ff2f6d;font-weight:900;padding:7px 10px;cursor:pointer}

@media(max-width:768px){
  .image-stack-panel{max-width:none}
  .stack-drop-zone{min-height:220px;padding:22px 16px;border-radius:22px}
  .stack-drop-zone:before{width:50px;height:50px;border-radius:17px;font-size:28px}
  .stack-drop-zone strong{font-size:17px}
  .stack-oneclick .primary-action{width:100%;justify-self:stretch;border-radius:16px}
  .clone-oneclick #cloneBtn{width:auto!important;max-width:max-content!important;justify-self:start!important;border-radius:999px}
  .clone-preview-wrap{max-width:180px}
  .product-form-grid{grid-template-columns:1fr}
  .poster-ref-list{grid-template-columns:1fr}
  .product-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-ratio-strip{flex-direction:column}
  .product-ratio-preview-mini{flex:0 0 auto;min-height:44px}
  .product-ratio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-ratio-head{align-items:flex-start;flex-direction:column}
  .stack-status{display:flex;width:100%;border-radius:14px}
}
