.clothink-dtf{max-width:980px;margin:30px auto;font-family:Arial,sans-serif;color:#142033}.clothink-dtf *{box-sizing:border-box}.dtf-topbar{background:#111c31;color:#fff;border-radius:32px 32px 0 0;padding:15px 20px;text-align:center;font-weight:800;letter-spacing:1px;border-bottom:3px solid #1ab6ff}.dtf-intro{margin:16px 0;padding:14px 18px;background:#fff;border:1px solid #dfe7f0;border-radius:18px;box-shadow:0 6px 22px rgba(18,40,70,.06);text-align:center;font-weight:700}.dtf-tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.dtf-tier{padding:18px 10px;border:1px solid #dfe7f0;border-radius:18px;text-align:center;background:#fff;transition:.2s}.dtf-tier.active{border:2px solid #13a9ef;box-shadow:0 0 0 4px rgba(19,169,239,.10)}.dtf-tier-name{font-size:11px;letter-spacing:1px;color:#8091aa;font-weight:800}.dtf-tier-range{font-size:13px;color:#68788d;margin:12px 0 5px}.dtf-tier-price{font-size:18px;font-weight:800}.dtf-upload-zone{padding:65px 20px;border:2px dashed #c8d6e6;border-radius:28px;background:#fbfdff;text-align:center;cursor:pointer;transition:.2s}.dtf-upload-zone.dragover{border-color:#159fe6;background:#f0fbff}.dtf-upload-icon{font-size:44px;opacity:.35}.dtf-upload-title{font-size:22px;font-weight:800;margin-top:10px}.dtf-upload-hint{margin-top:6px;color:#5e6f84}.dtf-upload-subhint{margin-top:7px;color:#8fa0b1;font-size:12px}.dtf-files{margin-top:22px}.dtf-empty{text-align:center;color:#8ea0b4;padding:28px}.dtf-file-card{background:#fff;border:1px solid #d6e1ed;border-radius:20px;padding:16px;margin-bottom:16px;box-shadow:0 7px 24px rgba(19,44,72,.07)}.dtf-file-head{display:flex;align-items:center;gap:12px}.dtf-file-index{width:28px;height:28px;border-radius:8px;background:#14233a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.dtf-thumb{width:46px;height:46px;object-fit:contain;border:1px solid #dde6ef;border-radius:10px;background:#f8fafc}.dtf-file-meta{flex:1;min-width:0}.dtf-file-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtf-file-sub{font-size:12px;color:#6d7d91;margin-top:4px}.dtf-head-actions{display:flex;gap:8px}.dtf-mini-btn{border:1px solid #dce6ef;background:#f7fbff;border-radius:10px;padding:8px 10px;font-weight:700;cursor:pointer}.dtf-mini-btn.danger{color:#d03a3a;background:#fff7f7}.dtf-crop-warning,.dtf-crop-success{margin-top:14px;padding:13px 14px;border-radius:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.dtf-crop-warning{background:#fff5d8;border:1px solid #f0bf3d;color:#8b5c00}.dtf-crop-success{background:#effcf2;border:1px solid #88d69a;color:#237d3d}.dtf-item{margin-top:14px;padding:14px;border:1px solid #d9e4ef;border-radius:14px;background:#fbfdff}.dtf-item-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.dtf-field label{display:block;font-size:10px;font-weight:800;color:#50657c;text-transform:uppercase;margin-bottom:5px}.dtf-field input{width:100%;height:42px;border:1px solid #cbd8e5;border-radius:10px;padding:0 12px;font-weight:800;text-align:center}.dtf-item-foot{margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:10px}.dtf-item-info{font-size:12px;color:#5d7085}.dtf-quality{display:inline-block;margin-left:7px;padding:4px 8px;border-radius:999px;font-weight:800}.dtf-quality.good{background:#dcf8e4;color:#1e7f40}.dtf-quality.warn{background:#fff1c7;color:#926500}.dtf-quality.bad{background:#ffe0e0;color:#a93232}.dtf-line-total{background:#0ba36f;color:#fff;border-radius:10px;padding:9px 13px;font-size:16px;font-weight:800}.dtf-duplicate{margin-top:12px;width:100%;border:2px dashed #159fe6;background:#f4fbff;color:#1178bb;border-radius:12px;padding:11px;font-weight:800;cursor:pointer}.dtf-actions-row{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:18px 0}.dtf-btn{border:0;border-radius:13px;padding:15px;font-weight:800;color:#fff;cursor:pointer}.dtf-btn-primary{background:linear-gradient(90deg,#18c8f2,#0788f5)}.dtf-btn-danger{background:linear-gradient(90deg,#ff4c61,#d93434)}.dtf-note-box{border:1px solid #dbe5ef;border-radius:16px;padding:16px;margin-top:15px}.dtf-note-box label{display:block;font-weight:800;margin-bottom:10px}.dtf-note-box textarea{width:100%;border:1px solid #cfdbe7;border-radius:12px;padding:12px;resize:vertical}.dtf-declaration{display:flex;gap:12px;border:1px solid #dbe5ef;border-radius:16px;padding:16px;margin:14px 0 0;line-height:1.45;font-size:13px}.dtf-declaration input{width:20px;height:20px;flex:0 0 auto}.dtf-sticky-spacer{height:105px}.dtf-summary-bar{position:sticky;bottom:14px;z-index:50;display:grid;grid-template-columns:120px 80px 1fr 270px;gap:15px;align-items:center;background:#142033;color:#fff;padding:16px 20px;border-radius:26px;box-shadow:0 15px 40px rgba(0,0,0,.26)}.dtf-summary-stat small{display:block;color:#9fb0c5;text-transform:uppercase;font-size:10px;font-weight:800}.dtf-summary-stat strong{display:block;color:#3ee58f;font-size:26px;margin-top:3px}.dtf-summary-progress{text-align:center;color:#31c7ff;font-size:12px;font-weight:800}.dtf-progress{height:7px;background:#304159;border-radius:20px;margin-top:8px;overflow:hidden}.dtf-progress i{display:block;height:100%;width:0;background:#2ec7ea}.dtf-cart-button{border:0;border-radius:16px;background:#17c35b;color:#fff;padding:17px 18px;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 8px 24px rgba(23,195,91,.32)}.dtf-message{padding:12px 14px;border-radius:12px;margin:12px 0;font-weight:700}.dtf-message.error{background:#ffe7e7;color:#9e2f2f}.dtf-message.ok{background:#e5faeb;color:#25753c}.dtf-busy{opacity:.55;pointer-events:none}
@media(max-width:800px){.dtf-tiers{grid-template-columns:repeat(2,1fr)}.dtf-summary-bar{grid-template-columns:1fr 1fr}.dtf-summary-progress{grid-column:1/3}.dtf-cart-button{grid-column:1/3}.dtf-item-grid{grid-template-columns:1fr}.dtf-actions-row{grid-template-columns:1fr}.dtf-sticky-spacer{height:180px}}

.dtf-item-grid-lock{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) minmax(110px,.8fr);align-items:end}
.dtf-ratio-lock{width:40px;height:42px;border:1px solid #cbd8e5;border-radius:10px;background:#fff;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;margin-bottom:0;transition:.15s}
.dtf-ratio-lock.locked{border-color:#159fe6;background:#eef9ff;box-shadow:0 0 0 2px rgba(21,159,230,.08)}
.dtf-ratio-lock.unlocked{color:#8a5b00;background:#fff8e5;border-color:#e5c66d}
.dtf-crop-warning strong,.dtf-crop-success strong{white-space:nowrap}
@media(max-width:800px){.dtf-item-grid-lock{grid-template-columns:1fr 44px 1fr}.dtf-item-grid-lock .dtf-field:last-child{grid-column:1/4}.dtf-ratio-lock{align-self:end}}

/* v0.1.7 progress + compact controls + DPI modal */
.dtf-upload-progress{margin:12px 0 18px;padding:14px 16px;background:#f7fafc;border:1px solid #d7e2ec;border-radius:14px;box-shadow:0 4px 16px rgba(13,30,50,.05)}
.dtf-upload-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;color:#14243a}
.dtf-upload-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dtf-upload-pct{flex:0 0 auto;color:#0b9bd8}
.dtf-upload-track{height:9px;background:#e7eef5;border-radius:999px;overflow:hidden;margin:10px 0 8px}
.dtf-upload-bar{height:100%;width:0;background:linear-gradient(90deg,#11b9ef,#16b56b);border-radius:999px;transition:width .15s ease}
.dtf-upload-stage{font-size:12px;color:#66778a}
.dtf-upload-progress.is-processing .dtf-upload-bar{width:100%!important;background:linear-gradient(90deg,#11b9ef,#16b56b,#11b9ef);background-size:220% 100%;animation:dtfProcessBar 1.1s linear infinite}
@keyframes dtfProcessBar{0%{background-position:200% 0}100%{background-position:0 0}}

#clothink-dtf .dtf-item-grid.dtf-item-grid-lock{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) 28px minmax(150px,1fr) minmax(95px,.55fr)!important;
  gap:8px!important;
  align-items:end!important;
}
#clothink-dtf .dtf-ratio-lock{
  width:28px!important;height:38px!important;min-width:28px!important;max-width:28px!important;
  padding:0!important;margin:0 0 1px!important;border-radius:7px!important;
  font-size:12px!important;line-height:1!important;box-shadow:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
#clothink-dtf .dtf-ratio-lock.locked{background:#eef9ff!important;border-color:#63bde8!important}
#clothink-dtf .dtf-ratio-lock.unlocked{background:#fff8e8!important;border-color:#e3bd5d!important}
#clothink-dtf .dtf-field{min-width:0!important}
#clothink-dtf .dtf-field input{width:100%!important}

.dtf-modal-backdrop{position:fixed;inset:0;background:rgba(15,28,45,.72);backdrop-filter:blur(5px);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.dtf-modal-card{width:min(430px,94vw);background:#fff;border-radius:22px;padding:28px 28px 24px;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.28)}
.dtf-modal-icon{font-size:40px;margin-bottom:8px}
.dtf-modal-card h3{font-size:19px;margin:6px 0 14px;color:#162237}
.dtf-modal-card p{margin:7px 0;color:#56667b;line-height:1.45}
.dtf-modal-card strong{color:#e38900}
.dtf-modal-muted{font-size:13px;color:#8190a2!important;margin-top:14px!important}
.dtf-modal-actions{display:flex;gap:10px;margin-top:22px}
.dtf-modal-actions button{flex:1;border-radius:11px;padding:12px 14px;font-weight:700;border:1px solid #d6e0e8;cursor:pointer}
.dtf-modal-cancel{background:#fff;color:#617184}
.dtf-modal-ok{background:#ef9300;color:#fff;border-color:#ef9300!important;box-shadow:0 6px 18px rgba(239,147,0,.25)}

@media(max-width:700px){
  #clothink-dtf .dtf-item-grid.dtf-item-grid-lock{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important}
  #clothink-dtf .dtf-item-grid.dtf-item-grid-lock .dtf-field:last-child{grid-column:1/4}
  .dtf-modal-actions{flex-direction:column}
}

/* v0.1.8: exact single-row controls, compact lock and quantity +/- */
#clothink-dtf .dtf-item-grid.dtf-item-grid-lock{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr) minmax(150px,.9fr)!important;
  column-gap:10px!important;
  row-gap:0!important;
  align-items:end!important;
  width:100%!important;
}
#clothink-dtf .dtf-item-grid.dtf-item-grid-lock > *{
  grid-row:1!important;
  grid-column:auto!important;
}
#clothink-dtf .dtf-ratio-lock{
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0 0 1px 0!important;
  border-radius:8px!important;
  font-size:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:end!important;
}
#clothink-dtf .dtf-qty-field{min-width:150px!important}
#clothink-dtf .dtf-qty-control{
  display:grid!important;
  grid-template-columns:38px minmax(58px,1fr) 38px!important;
  align-items:stretch!important;
  height:38px!important;
  border:1px solid #b9ccdc!important;
  border-radius:9px!important;
  overflow:hidden!important;
  background:#fff!important;
}
#clothink-dtf .dtf-qty-control button{
  border:0!important;
  background:#078fd8!important;
  color:#fff!important;
  font-size:19px!important;
  font-weight:800!important;
  padding:0!important;
  margin:0!important;
  cursor:pointer!important;
  line-height:38px!important;
}
#clothink-dtf .dtf-qty-control button:hover{background:#057fc0!important}
#clothink-dtf .dtf-qty-control .dtf-qty{
  border:0!important;
  border-left:1px solid #c7d6e2!important;
  border-right:1px solid #c7d6e2!important;
  border-radius:0!important;
  height:38px!important;
  min-height:38px!important;
  text-align:center!important;
  padding:0 5px!important;
  box-shadow:none!important;
  -moz-appearance:textfield!important;
}
#clothink-dtf .dtf-qty-control .dtf-qty::-webkit-outer-spin-button,
#clothink-dtf .dtf-qty-control .dtf-qty::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}

/* Summary bar like the reference: message above a short progress line */
#clothink-dtf .dtf-summary-progress{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
#clothink-dtf #dtf-rate-text{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-transform:uppercase!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
#clothink-dtf .dtf-progress{
  width:100%!important;
  height:7px!important;
  margin-top:8px!important;
}
#clothink-dtf .dtf-progress i{
  background:linear-gradient(90deg,#17c8e8,#2ccf89)!important;
  transition:width .25s ease!important;
}

@media(max-width:720px){
  #clothink-dtf .dtf-item-grid.dtf-item-grid-lock{
    grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)!important;
    row-gap:10px!important;
  }
  #clothink-dtf .dtf-item-grid.dtf-item-grid-lock > .dtf-qty-field{
    grid-row:2!important;
    grid-column:1/4!important;
  }
}
