body {
	padding-top: 2rem;
}

@media print {
	body * {
		visibility: hidden;
	}
	#qrcode-container, #qrcode-container * {
		visibility: visible;
	}
	#qrcode-container {
		position: absolute;
		left: 0;
		top: 0;
		width: 210mm;
		box-sizing: border-box;
	}
	.no-print {
		display: none !important;
	}
	.list-item {
		page-break-inside: avoid;
	}
	.a4-page {
		page-break-before: always;
		margin: 17mm;
		box-shadow: 0 0 0;
		box-sizing: border-box;
	}
	.a4-page:first-child {
		page-break-before: avoid;
	}
}

/* A4プレビュー用スタイル */
.a4-preview {
	width: 210mm;
	min-height: 297mm;
	margin: 0 auto;
	background: white;
}

.preview-container {
	background: #f0f0f0;
	padding: 20px;
	margin: 20px;
	overflow: auto;
	max-height: 1200px;
}

#qrcode-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: #f0f0f0;
}

.a4-page {
	width: 210mm;
	min-height: 297mm;
	padding: 17mm;
	margin: 0;
	margin-bottom: 20px;
	color: #000;
	background: white;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	box-sizing: border-box;
	flex-shrink: 0;
}

.a4-page:first-child {
	margin-top: 0;
}

/* リストアイテムのスタイル */
.list-item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 50px 10px;
	background: white;
	margin-bottom: 30px;
}

.list-item .qrcode {
	width: 10mm;
	height: 10mm;
	flex-shrink: 0;
	position: relative;
}

.list-item .qrcode::before {
	content: '';
	position: absolute;
	top: -5mm;
	left: -5mm;
	right: -5mm;
	height: 2px;
	background-color: #000;
}

.list-item .arrow {
	position: absolute;
	top: -11.5mm;
	left: 50%;
	transform: translateX(-50%);
	width: 6mm;
	height: 7mm;
	z-index: 10;
}

.list-item .arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

.list-item .arrow svg path {
	fill: #000;
}

.list-item .qrcode::after {
	content: '';
	position: absolute;
	bottom: -14mm;
	left: -5mm;
	right: -5mm;
	height: 2px;
	background-color: #000;
}

.list-item .text-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 5px;
	height: 29mm;
	justify-content: center;
	align-items: flex-start;
	margin-top: 6mm;
}

.list-item .display-text {
	font-weight: normal;
	font-size: 14px;
	line-height: 1.4;
	word-break: break-all;
}

.list-item .read-text {
	display: none;
}

.list-item canvas {
	width: 100% !important;
	height: 100% !important;
	background: white;
}

/* 二段組レイアウト */
.two-column-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.two-column-layout .list-item {
	margin-bottom: 10px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
	.two-column-layout {
		grid-template-columns: 1fr;
	}
}