/* Text Label Tab Styles */ .textlabel-container { padding: 20px; max-width: 900px; margin: 0 auto; } .textlabel-header { margin-bottom: 20px; text-align: center; } .textlabel-header h3 { margin: 0 0 10px 0; color: #333; } .textlabel-header p { margin: 0; color: #666; font-size: 14px; } #current-label-size { color: #4CAF50; } /* Formatting Toolbar */ .formatting-toolbar { background: #f5f5f5; border: 1px solid #ddd; border-radius: 8px; padding: 15px; margin-bottom: 20px; } .toolbar-row { display: flex; align-items: center; gap: 20px; margin-bottom: 10px; } .toolbar-row:last-child { margin-bottom: 0; } .toolbar-group { display: flex; align-items: center; gap: 8px; } .toolbar-group label { font-weight: 500; font-size: 14px; color: #333; } #text-font-family { padding: 6px 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; min-width: 180px; } #text-font-size { width: 60px; padding: 6px 8px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; } .format-button { width: 36px; height: 36px; border: 1px solid #ccc; background: white; border-radius: 4px; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; transition: all 0.2s; } .format-button:hover { background: #e0e0e0; border-color: #999; } .format-button.active { background: #4CAF50; color: white; border-color: #4CAF50; } /* Workspace - Input and Preview side by side */ .textlabel-workspace { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; } .input-section, .preview-section { display: flex; flex-direction: column; } .input-section label, .preview-section label { font-weight: 600; font-size: 14px; color: #333; margin-bottom: 8px; } /* Text Input Area */ #text-input-area { width: 100%; height: 80px; padding: 12px; border: 2px solid #ddd; border-radius: 8px; font-family: Arial; font-size: 14px; line-height: 1.5; resize: vertical; outline: none; } #text-input-area:focus { border-color: #4CAF50; } /* Label Preview Box - Fixed Size */ .label-preview-box { /* Large label: 25mm x 54mm */ width: 54mm; height: 25mm; border: 2px solid #4CAF50; border-radius: 4px; background: white; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); overflow: hidden; position: relative; } .label-preview-box.small { /* Small label: 19mm x 51mm */ width: 51mm; height: 19mm; } .label-preview-content { width: 100%; height: 100%; padding: 2mm; box-sizing: border-box; font-family: Arial; font-size: 12pt; overflow: hidden; word-wrap: break-word; white-space: pre-wrap; display: flex; flex-direction: column; } .label-preview-content.no-wrap { white-space: pre; } .label-preview-content.bold { font-weight: bold; } .label-preview-content.underline { text-decoration: underline; } /* Horizontal alignment */ .label-preview-content.align-left { align-items: flex-start; } .label-preview-content.align-center { align-items: center; } .label-preview-content.align-right { align-items: flex-end; } /* Vertical alignment */ .label-preview-content.valign-top { justify-content: flex-start; } .label-preview-content.valign-middle { justify-content: center; } .label-preview-content.valign-bottom { justify-content: flex-end; } .preview-note { margin-top: 8px; font-size: 12px; color: #666; font-style: italic; } /* Actions */ .textlabel-actions { display: flex; gap: 10px; justify-content: center; margin-bottom: 15px; } .textlabel-actions .action-button { min-width: 150px; } /* Status */ #text-label-status { text-align: center; min-height: 20px; font-size: 14px; } /* Responsive adjustments */ @media (max-width: 768px) { .textlabel-workspace { grid-template-columns: 1fr; } .label-preview-box { margin: 0 auto; } } /* Print styles for text labels */ @media print { body * { visibility: hidden; } #text-label-print-area, #text-label-print-area * { visibility: visible; } #text-label-print-area { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } } /* QR Code Tab Styles */ .qrcode-container { padding: 20px; max-width: 900px; margin: 0 auto; } .qrcode-header { margin-bottom: 20px; text-align: center; } .qrcode-header h3 { margin: 0 0 10px 0; color: #333; } .qrcode-header p { margin: 0; color: #666; font-size: 14px; } .qrcode-input-section { margin-bottom: 20px; text-align: center; } .qrcode-input-section label { display: block; font-weight: 600; font-size: 14px; color: #333; margin-bottom: 8px; } #qrcode-integer-input { padding: 10px 15px; border: 2px solid #ddd; border-radius: 8px; font-size: 18px; width: 200px; text-align: center; outline: none; } #qrcode-integer-input:focus { border-color: #4CAF50; } .qrcode-preview-section { margin-bottom: 20px; text-align: center; } .qrcode-preview-section label { display: block; font-weight: 600; font-size: 14px; color: #333; margin-bottom: 8px; } /* QR Code Preview Box - Large label size */ .qrcode-preview-box { width: 54mm; height: 25mm; border: 2px solid #4CAF50; border-radius: 4px; background: white; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); margin: 0 auto; display: flex; align-items: center; justify-content: center; overflow: hidden; } .qrcode-preview-box img { max-width: 90%; max-height: 90%; object-fit: contain; } .qrcode-preview-section .preview-note { margin-top: 8px; font-size: 12px; color: #666; font-style: italic; } .qrcode-actions { display: flex; gap: 10px; justify-content: center; margin-bottom: 15px; } .qrcode-actions .action-button { min-width: 150px; } #qrcode-status { text-align: center; min-height: 20px; font-size: 14px; }