/* Phase 8.7.5 — print cut points, reprint/product label cleanup, sleek button colors */
:root{
  --dbs-gold:#f6b23a;
  --dbs-gold-dark:#d77808;
  --dbs-blue:#1677ff;
  --dbs-green:#0f9f6e;
  --dbs-purple:#7c3aed;
  --dbs-red:#e33f32;
  --dbs-slate:#10213b;
  --dbs-frame:#f1c27a;
  --dbs-frame-soft:#fff7e8;
}

/* Sleek multi-color button system. */
.button,
.print-controls button,
.print-controls a{
  color:#fff !important;
  border:0 !important;
  border-radius:14px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-shadow:0 1px 1px rgba(0,0,0,.20) !important;
  box-shadow:0 9px 18px rgba(157,91,0,.18), inset 0 1px 0 rgba(255,255,255,.30) !important;
  text-decoration:none !important;
  transform:translateZ(0) !important;
}
.button:hover,
.print-controls button:hover,
.print-controls a:hover{ filter:saturate(1.08) brightness(1.03); transform:translateY(-1px) !important; }
.button:disabled,
.print-controls button:disabled{ opacity:.45 !important; cursor:not-allowed !important; filter:grayscale(.25); transform:none !important; }
.button.primary,.print-primary{ background:linear-gradient(135deg,#ff9b21,#df6c00) !important; }
.button.secondary,.print-secondary{ background:linear-gradient(135deg,#1ba7ff,#1169d8) !important; }
.button.info{ background:linear-gradient(135deg,#23b2ff,#0875c8) !important; }
.button.warning{ background:linear-gradient(135deg,#ffc247,#ea8a00) !important; }
.button.dark,.print-back{ background:linear-gradient(135deg,#253b61,#071c38) !important; }
.button.ghost{ background:linear-gradient(135deg,#f59e0b,#d97706) !important; border:0 !important; color:#fff !important; }
.button.danger{ background:linear-gradient(135deg,#ff665b,#c92922) !important; }
.form-actions .button:nth-child(3n+1), .phase875-bottom-actions .button:nth-child(3n+1){ background:linear-gradient(135deg,#ff9b21,#df6c00) !important; }
.form-actions .button:nth-child(3n+2), .phase875-bottom-actions .button:nth-child(3n+2){ background:linear-gradient(135deg,#1ba7ff,#1169d8) !important; }
.form-actions .button:nth-child(3n+3), .phase875-bottom-actions .button:nth-child(3n+3){ background:linear-gradient(135deg,#0fb981,#087c5b) !important; }

/* Golden shine frame polish and consistent gaps. */
.card,.panel,.card-lite{
  border-color:var(--dbs-frame) !important;
  box-shadow:0 14px 32px rgba(111,63,5,.08), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
.panel,.card{ background:linear-gradient(180deg,#fff,#fffdf8) !important; }
input,select,textarea{
  border-color:#e8bd83 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.60) !important;
}
.panel-head.phase875-panel-head{ display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:16px !important; align-items:start !important; }
.phase875-search-row{ display:grid !important; grid-template-columns:minmax(260px,1fr) auto !important; gap:10px !important; align-items:end !important; width:min(680px,100%) !important; }

/* Print preview controls reserve their own space and never cover labels/tickets. */
.phase875-print-controls{
  position:fixed !important;
  top:18px !important;
  left:18px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
  z-index:9999 !important;
  padding:10px !important;
  border-radius:16px !important;
  background:rgba(255,248,235,.92) !important;
  box-shadow:0 10px 24px rgba(71,40,0,.14) !important;
}
.phase875-print-controls .print-btn{ min-height:42px !important; padding:11px 16px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; white-space:nowrap !important; }
.phase875-product-label-print,
.phase875-fold-tags-page,
.phase875-ticket-print-body,
.phase875-receipt-page{ padding-top:120px !important; box-sizing:border-box !important; }

/* Product label preview/print spacing and label structure. */
.phase875-product-label-sheet{ display:grid !important; gap:10px !important; justify-content:start !important; align-items:start !important; padding:0 0 0 18px !important; }
.phase875-product-label{
  width:1.85in !important;
  min-height:1.05in !important;
  height:auto !important;
  background:#fff !important;
  color:#000 !important;
  border:1px dashed #bbb !important;
  box-sizing:border-box !important;
  padding:.06in !important;
  text-align:center !important;
  overflow:hidden !important;
  page-break-after:always !important;
  break-after:page !important;
}
.phase875-product-label:last-child{ page-break-after:auto !important; break-after:auto !important; }
.phase875-product-price{ font-size:16px !important; line-height:1 !important; font-weight:950 !important; margin:0 0 .03in !important; }
.phase875-product-barcode{ width:1.65in !important; height:.33in !important; margin:.01in auto .02in !important; }
.phase875-product-sku{ font-size:9px !important; line-height:1.05 !important; font-weight:950 !important; }
.phase875-product-name{ font-size:7px !important; line-height:1.05 !important; margin-top:.01in !important; font-weight:850 !important; }

/* Garment tag print/preview: each visible tag is a separate cut/page. */
.phase875-label-sheet{ display:grid !important; gap:8px !important; justify-items:start !important; padding-left:18px !important; }
.phase875-fold-label,
.phase875-fold-tag-roll{
  page-break-after:always !important;
  break-after:page !important;
  page-break-inside:avoid !important;
  break-inside:avoid !important;
  width:72mm !important;
  min-height:40mm !important;
  padding:2mm !important;
  margin:0 0 8px 0 !important;
  background:#fff !important;
  color:#000 !important;
  box-shadow:none !important;
}
.phase875-fold-label:last-child,
.phase875-fold-tag-roll:last-of-type{ page-break-after:auto !important; break-after:auto !important; }
.phase875-fold-tag-double{ min-height:15mm !important; border:2px solid #000 !important; padding:1.3mm !important; }
.phase875-fold-tag-double section{ min-width:0 !important; display:grid !important; align-content:center !important; text-align:center !important; }
.phase875-fold-tag-double strong{ font-size:12px !important; line-height:1 !important; }
.phase875-fold-tag-double span{ font-size:6.4px !important; line-height:1.05 !important; }
.phase875-fold-tag-double small{ font-size:5.3px !important; line-height:1.05 !important; }
.phase875-cut-marker{ color:#000 !important; font-size:7.5px !important; margin:0 0 1mm !important; }
.phase875-fold-label .fold-tag-barcode,
.phase875-fold-tag-roll .fold-tag-barcode{ height:8mm !important; width:64mm !important; margin:1.3mm auto 0 !important; transform:scaleY(.76); transform-origin:top center; }

/* Garment Tag Reprint page: one clean master form with no per-row button clutter. */
.phase875-tag-reprint .phase875-order-tag-list{ display:grid !important; gap:18px !important; }
.phase875-tag-order-card{ padding:18px !important; overflow:visible !important; }
.phase875-tag-order-head{ display:block !important; margin-bottom:10px !important; }
.phase875-tag-order-head strong{ display:block !important; font-size:22px !important; line-height:1.05 !important; color:#001b3f !important; }
.phase875-tag-order-head span{ display:block !important; color:#4b5e78 !important; line-height:1.18 !important; }
.phase875-tag-checkbox-grid{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)) !important; gap:10px !important; width:100% !important; }
.phase875-tag-check{
  display:grid !important;
  grid-template-columns:24px minmax(140px,1fr) minmax(120px,auto) !important;
  gap:12px !important;
  align-items:center !important;
  width:100% !important;
  min-height:58px !important;
  padding:12px !important;
  border:1.5px solid #f0bf82 !important;
  border-radius:12px !important;
  background:#fffefb !important;
  box-sizing:border-box !important;
}
.phase875-tag-check input{ justify-self:center !important; width:16px !important; height:16px !important; margin:0 !important; }
.phase875-tag-check strong{ font-size:18px !important; line-height:1 !important; text-align:left !important; overflow-wrap:anywhere !important; color:#001b3f !important; }
.phase875-tag-service{ font-size:13px !important; line-height:1.1 !important; color:#10213b !important; font-weight:850 !important; overflow-wrap:anywhere !important; }
.phase875-bottom-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  align-items:center !important;
  justify-content:flex-start !important;
  margin-top:18px !important;
  padding:16px !important;
  border:1.5px solid #f0bf82 !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#fff8eb,#fffdf8) !important;
}
.phase875-bottom-actions .button{ min-height:46px !important; padding:12px 18px !important; }

/* Product label selection page: same selection concept as garment tags. */
.phase875-product-label-filter{ display:grid !important; grid-template-columns:220px minmax(300px,1fr) auto auto !important; gap:12px !important; align-items:end !important; }
.phase875-product-list{ display:grid !important; gap:10px !important; margin-top:12px !important; }
.phase875-label-product-row{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) 100px !important;
  gap:14px !important;
  align-items:center !important;
  padding:14px !important;
  border:1.5px solid #f0bf82 !important;
  border-radius:14px !important;
  background:#fffefb !important;
}
.phase875-label-product-row>input[type="checkbox"]{ width:16px !important; height:16px !important; margin:0 !important; }
.phase875-product-copy strong{ display:block !important; font-size:17px !important; line-height:1.1 !important; }
.phase875-product-copy span,.phase875-product-copy small{ display:block !important; color:#4b5e78 !important; line-height:1.16 !important; }
.phase875-qty-box{ display:grid !important; gap:4px !important; justify-items:center !important; }
.phase875-qty-box span{ font-size:12px !important; font-weight:900 !important; color:#4b5e78 !important; }
.phase875-qty-box input{ width:82px !important; text-align:center !important; font-weight:950 !important; }

/* Ticket copy and cut points: use page/cut boundaries after each copy and after each fold tag. */
.phase875-ticket-print-body .phase872-copy-cut{
  width:72mm !important;
  margin:0 auto !important;
  border-top:2px dashed #000 !important;
  padding:2.5mm 0 2mm !important;
  text-align:center !important;
  font-size:8px !important;
  font-weight:950 !important;
  page-break-after:always !important;
  break-after:page !important;
  background:#fff !important;
  color:#000 !important;
}
.phase875-ticket-print-body .ticket-roll{
  page-break-after:auto !important;
  break-after:auto !important;
  margin-bottom:0 !important;
}
.phase875-ticket-print-body .phase872-fold-tag{
  page-break-after:always !important;
  break-after:page !important;
  page-break-inside:avoid !important;
  break-inside:avoid !important;
}
.phase875-ticket-print-body .phase872-fold-tag:last-of-type{ page-break-after:auto !important; break-after:auto !important; }

@media print{
  .phase875-print-controls{ display:none !important; }
  .phase875-product-label-print,
  .phase875-fold-tags-page,
  .phase875-ticket-print-body,
  .phase875-receipt-page{ padding-top:0 !important; background:#fff !important; }
  .phase875-product-label-sheet,
  .phase875-label-sheet{ padding:0 !important; margin:0 !important; }
  .phase875-fold-label,
  .phase875-fold-tag-roll{ margin:0 !important; page-break-after:always !important; break-after:page !important; }
  .phase875-fold-label:last-child,
  .phase875-fold-tag-roll:last-of-type{ page-break-after:auto !important; break-after:auto !important; }
  .phase875-product-label{ margin:0 !important; page-break-after:always !important; break-after:page !important; border:0 !important; }
  .phase875-product-label:last-child{ page-break-after:auto !important; break-after:auto !important; }
  .phase875-ticket-print-body .phase872-copy-cut{ page-break-after:always !important; break-after:page !important; }
  @page{ margin:0; size:80mm auto; }
}
@media (max-width:1050px){
  .panel-head.phase875-panel-head{ grid-template-columns:1fr !important; }
  .phase875-search-row,.phase875-product-label-filter{ grid-template-columns:1fr !important; width:100% !important; }
  .phase875-tag-checkbox-grid{ grid-template-columns:1fr !important; }
  .phase875-label-product-row{ grid-template-columns:24px 1fr !important; }
  .phase875-qty-box{ grid-column:2 !important; justify-items:start !important; }
}
