/* ============================================
   PRINT
============================================ */
.hub-print-btn {
  background: #ddd2eb;
  border: none;
  border-radius: 8px;
  color: #4b3f5c;
  padding: 6px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hub-print-btn:hover { background: #c6b7e2; }

/* Hidden on screen, shown only when printing */
#print-area { display: none; }
#print-watermark { display: none; }

@media print {
  body * { visibility: hidden; }
  #print-area, #print-area * { visibility: visible; }
  #print-area { display: block; position: absolute; top: 0; left: 0; width: 100%; }
  @page { margin: 0.25in; }

  #print-watermark {
    display: block;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 4in;
    transform: translate(-50%, -50%);
    opacity: 0.06; /* black mark: light enough that the stripes never read as table lines */
    pointer-events: none;
  }
}

.print-workout-block { margin-bottom: 10px; }
.print-workout-heading { font-size: 16px; font-weight: 700; color: #000; margin: 0 0 4px; }
.print-workout-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 14px; color: #000; }
.print-th, .print-td {
  border: 1px solid #000 !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  padding: 3px 5px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.print-th { font-weight: 500; }
.print-group-banner { background: #ddd !important; font-weight: 700; font-size: 12px; letter-spacing: 0.02em; }
.print-td-indent { padding-left: 16px; }