.wctsm-ur-container{margin:14px 0}
.wctsm-ur-head{border:1px solid #e5e5e5;border-radius:10px;padding:14px;margin-bottom:12px;background:#fff}
.wctsm-ur-headtitle{font-weight:600;font-size:16px;margin-bottom:8px}
.wctsm-ur-headlist{margin:0 0 8px 18px;padding:0;list-style:disc;color:#444}
.wctsm-ur-headlist li{margin:2px 0}

.wctsm-ur-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.wctsm-slot .wctsm-drop{border:2px dashed #d9d9d9;border-radius:12px;padding:14px;text-align:center;min-height:110px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff}
.wctsm-slot .wctsm-label{font-weight:600;margin-bottom:8px}
.wctsm-slot .wctsm-droptext{font-size:13px;color:#666;margin-bottom:8px}
.wctsm-slot .wctsm-filename{display:block;margin-top:8px;font-size:12px;color:#333;word-break:break-all}
.wctsm-slot input[type="file"]{display:none}
.wctsm-ur-container .button.wctsm-choose{border-radius:999px;padding:6px 12px;margin-top:4px}
.wctsm-slot .wctsm-proof-btn{margin-top:6px}

/* Proof overlay */
.wctsm-proof-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.wctsm-proof-overlay.is-open{display:flex}
.wctsm-proof-modal{background:#fff;border-radius:10px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;position:relative;padding:16px;box-sizing:border-box}
.wctsm-proof-close{position:absolute;top:8px;right:8px;border:none;background:transparent;font-size:20px;cursor:pointer}
.wctsm-proof-canvas{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;margin-bottom:12px}
.wctsm-mockup{position:relative;background-size:contain;background-position:center;background-repeat:no-repeat;width:100%;max-width:600px;aspect-ratio:3/4;margin:0 auto}
.wctsm-print-area{position:absolute;overflow:hidden;border:1px dashed rgba(255,0,0,.6);box-sizing:border-box}
.wctsm-print-area .wctsm-artwork{width:100%;height:100%;object-fit:contain;transform-origin:center center;display:block}
.wctsm-proof-controls{display:flex;align-items:center;gap:12px;justify-content:flex-start;font-size:13px}
.wctsm-proof-controls label{display:flex;align-items:center;gap:6px}
@media(max-width:768px){
  .wctsm-proof-modal{max-width:100%;padding:12px}
}


.wctsm-slot-status-wrap {
  margin-top: 4px;
  font-size: 11px;
}
.wctsm-slot-status {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 999px;
  font-weight: 500;
}
.wctsm-slot-status-pending {
  background: #fff7e6;
  color: #8a6d3b;
  border: 1px solid #faebcc;
}
.wctsm-slot-status-approved {
  background: #e6ffed;
  color: #1a7f37;
  border: 1px solid #c6f6d5;
}
.wctsm-slot-error {
  border: 1px solid #e53e3e;
}

.wctsm-artwork-pdf {
  display: none;
  width: 100%;
  height: 100%;
  border: none;
}
.wctsm-print-area.has-pdf .wctsm-artwork {
  display: none;
}
.wctsm-print-area.has-pdf .wctsm-artwork-pdf {
  display: block;
}

.wctsm-proof-controls {
  margin-top: 10px;
}
.wctsm-proof-dpi {
  font-size: 12px;
  margin-bottom: 4px;
}
.wctsm-proof-lowdpi {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
}
.wctsm-proof-buttons {
  margin-bottom: 6px;
}
.wctsm-proof-zoom-wrap label {
  font-size: 12px;
}



.wctsm-proof-top{
  margin-bottom: 8px;
  font-size: 12px;
}
.wctsm-proof-dpi{
  margin-bottom: 4px;
}
.wctsm-proof-lowdpi{
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.wctsm-proof-buttons{
  margin-top: 8px;
  display: flex;
  gap: 8px;
}

.wctsm-proof-confirm{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000001;
}
.wctsm-proof-confirm-inner{
  background:#fff;
  padding:18px 20px;
  border-radius:8px;
  max-width:480px;
  width:90%;
  box-sizing:border-box;
  font-size:13px;
  line-height:1.5;
}
.wctsm-proof-confirm-inner h3{
  margin-top:0;
  margin-bottom:8px;
}
.wctsm-proof-confirm-inner p{
  margin:4px 0;
}
.wctsm-proof-confirm-buttons{
  margin-top:12px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
}



/* Force small close button in top-right and keep content clear below it */
.wctsm-proof-modal{
  position: relative;
  background:#fff;
  padding: 32px 24px 16px 24px;
  box-sizing: border-box;
}

.wctsm-proof-close{
  position: absolute !important;
  top: 8px !important;
  right: 12px !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* Slight spacing for DPI line */
.wctsm-proof-top{
  margin-top: 0;
}

