._wrapper_1tu05_1 {
	position: fixed;
	bottom: 100px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	opacity: 0;
	z-index: 2147483642; /* 比 SimulatorMask 高一层 */
	box-sizing: border-box;

	overflow: visible;

	* {
		box-sizing: border-box;
	}

	--width: 360px;
	--height: 40px;
	--border-radius: 12px;

	--side-space: 12px; /* 控制栏两侧的间距 */
	--history-width: calc(var(--width) - var(--side-space) * 2);

	--color-1: rgb(57, 182, 255);
	--color-2: rgb(189, 69, 251);
	--color-3: rgb(255, 87, 51);
	--color-4: rgb(255, 214, 0);

	width: var(--width);
	height: var(--height);

	transition: all 0.3s ease-in-out;

	/* 响应式设计 */
	@media (max-width: 480px) {
		width: calc(100vw - 40px);
		--width: calc(100vw - 40px);
	}

	._background_1tu05_39 {
		position: absolute;
		inset: -2px -8px;
		border-radius: calc(var(--border-radius) + 4px);
		filter: blur(16px);
		overflow: hidden;
		/* mix-blend-mode: lighten; */
		/* display: none; */

		&::before {
			content: '';
			z-index: -1;
			pointer-events: none;
			position: absolute;
			width: 100%;
			height: 100%;
			/* left: -100%; */
			left: 0;
			top: 0;

			background-image: linear-gradient(
				to bottom left,
				var(--color-1),
				var(--color-2),
				var(--color-1)
			);
			animation: _mask-running_1tu05_1 2s linear infinite;
		}
		&::after {
			content: '';
			z-index: -1;
			pointer-events: none;
			position: absolute;
			width: 100%;
			height: 100%;
			left: 0;
			top: 0;

			background-image: linear-gradient(
				to bottom left,
				var(--color-2),
				var(--color-1),
				var(--color-2)
			);
			animation: _mask-running_1tu05_1 2s linear infinite;
			animation-delay: 1s;
		}
	}
}

@keyframes _mask-running_1tu05_1 {
	from {
		transform: translateX(-100%);
	}
	to {
		transform: translateX(100%);
	}
}

/* 控制栏 */
._header_1tu05_99 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	user-select: none;

	position: absolute;
	inset: 0;

	cursor: pointer;
	flex-shrink: 0; /* 防止 header 被压缩 */

	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(10px);
	border-radius: var(--border-radius);
	background-clip: padding-box;

	box-shadow:
		0 0 0px 2px rgba(255, 255, 255, 0.4),
		0 0 5px 1px rgba(255, 255, 255, 0.3);

	._statusSection_1tu05_121 {
		display: flex;
		align-items: center;
		gap: 8px;
		flex: 1;
		min-height: 24px; /* 确保垂直居中 */

		._indicator_1tu05_128 {
			width: 6px;
			height: 6px;
			border-radius: 50%;
			background: rgba(255, 255, 255, 0.5);
			flex-shrink: 0;
			animation: none; /* 默认无动画 */

			/* 运行状态 - 有动画 */
			&._thinking_1tu05_137 {
				background: rgb(57, 182, 255);
				animation: _pulse_1tu05_1 0.8s ease-in-out infinite;
			}

			&._tool_executing_1tu05_142 {
				background: rgb(189, 69, 251);
				animation: _pulse_1tu05_1 0.6s ease-in-out infinite;
			}

			&._retry_1tu05_147 {
				background: rgb(255, 214, 0);
				animation: _retryPulse_1tu05_1 1s ease-in-out infinite;
			}

			/* 静止状态 - 无动画 */
			&._completed_1tu05_153,
			&._input_1tu05_154,
			&._output_1tu05_155 {
				background: rgb(34, 197, 94);
				animation: none;
			}

			&._error_1tu05_160 {
				background: rgb(239, 68, 68);
				animation: none;
			}
		}

		._statusText_1tu05_166 {
			color: white;
			font-size: 12px;
			line-height: 1;
			font-weight: 500;
			transition: all 0.3s ease-in-out;
			position: relative;
			overflow: hidden;
			display: flex;
			align-items: center;
			min-height: 24px; /* 确保垂直居中 */

			&._fadeOut_1tu05_178 {
				animation: _statusTextFadeOut_1tu05_1 0.3s ease forwards;
			}

			&._fadeIn_1tu05_182 {
				animation: _statusTextFadeIn_1tu05_1 0.3s ease forwards;
			}
		}
	}

	._controls_1tu05_188 {
		display: flex;
		align-items: center;
		gap: 4px;

		._controlButton_1tu05_193 {
			width: 24px;
			height: 24px;
			border: none;
			border-radius: 4px;
			background: rgba(255, 255, 255, 0.1);
			color: white;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 12px;
			line-height: 1;

			&:hover {
				background: rgba(255, 255, 255, 0.2);
			}
		}

		._stopButton_1tu05_212 {
			background: rgba(239, 68, 68, 0.2);
			color: rgb(255, 41, 41);
			font-weight: 600;

			&:hover {
				background: rgba(239, 68, 68, 0.3);
			}
		}
	}
}

@keyframes _statusTextFadeIn_1tu05_1 {
	0% {
		opacity: 0;
		transform: translateY(5px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes _statusTextFadeOut_1tu05_1 {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateY(-5px);
	}
}

._historySectionWrapper_1tu05_246 {
	position: absolute;
	width: var(--history-width);
	bottom: var(--height);
	left: var(--side-space);
	z-index: -2;

	padding-top: 0px;
	visibility: collapse;
	overflow: hidden;

	transition: all 0.2s;

	background: rgba(2, 0, 20, 0.5);
	/* background: rgba(186, 186, 186, 0.2); */
	backdrop-filter: blur(10px);

	text-shadow: 0 0 1px rgba(0, 0, 0, 0.2);

	border-top-left-radius: calc(var(--border-radius) + 4px);
	border-top-right-radius: calc(var(--border-radius) + 4px);

	/* border: 2px solid rgba(255, 255, 255, 0.8); */
	border: 2px solid rgba(255, 255, 255, 0.4);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);

	/* @media (prefers-color-scheme: dark) {
		box-shadow:
			0 8px 32px 0 rgba(0, 0, 0, 0.85),
			0 2px 12px 0 rgba(57, 182, 255, 0.1);
	} */

	._expanded_1tu05_278 & {
		padding-top: 8px;
		visibility: visible;
	}

	._historySection_1tu05_246 {
		position: relative;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: none;
		max-height: 0;
		padding-inline: 8px;

		transition: max-height 0.2s;

		._expanded_1tu05_278 & {
			max-height: min(500px, calc(100vh - 200px - var(--height)));
		}

		._historyItem_1tu05_297 {
			/* backdrop-filter: blur(10px); */
			padding: 8px 10px;
			margin-bottom: 6px;
			background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
			border-radius: 8px;
			border-left: 2px solid rgba(57, 182, 255, 0.5);
			font-size: 12px;
			color: white;
			/* color: black; */
			line-height: 1.3;
			position: relative;
			overflow: hidden;

			/* 微妙的内阴影 */
			box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.1),
				0 1px 3px rgba(0, 0, 0, 0.1);

			&::before {
				content: '';
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				height: 1px;
				background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
			}

			&:hover {
				background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
				/* transform: translateY(-1px); */
				box-shadow:
					inset 0 1px 0 rgba(255, 255, 255, 0.15),
					0 2px 4px rgba(0, 0, 0, 0.15);
			}

			&:last-child {
				margin-bottom: 10px;
			}

			&._completed_1tu05_153,
			&._input_1tu05_154,
			&._output_1tu05_155 {
				border-left-color: rgb(34, 197, 94);
				background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(34, 197, 94, 0.05));
			}

			&._error_1tu05_160 {
				border-left-color: rgb(239, 68, 68);
				background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.05));
			}

			&._retry_1tu05_147 {
				border-left-color: rgb(255, 214, 0);
				background: linear-gradient(135deg, rgba(255, 214, 0, 0.1), rgba(255, 214, 0, 0.05));
			}

			&._observation_1tu05_355 {
				border-left-color: rgb(147, 51, 234);
				background: linear-gradient(135deg, rgba(147, 51, 234, 0.1), rgba(147, 51, 234, 0.05));
			}

			&._question_1tu05_360 {
				border-left-color: rgb(255, 159, 67);
				background: linear-gradient(135deg, rgba(255, 159, 67, 0.15), rgba(255, 159, 67, 0.08));
			}

			/* 突出显示 done 成功结果 */
			&._doneSuccess_1tu05_366 {
				background: linear-gradient(
					135deg,
					rgba(34, 197, 94, 0.25),
					rgba(34, 197, 94, 0.15),
					rgba(34, 197, 94, 0.08)
				);
				border: none;
				border-left: 4px solid rgb(34, 197, 94);
				box-shadow:
					0 4px 12px rgba(34, 197, 94, 0.3),
					inset 0 1px 0 rgba(255, 255, 255, 0.2),
					0 0 20px rgba(34, 197, 94, 0.1);
				font-weight: 600;
				color: rgb(220, 252, 231);
				padding: 10px 12px;
				margin-bottom: 8px;
				border-radius: 8px;
				position: relative;
				overflow: hidden;

				&::before {
					background: linear-gradient(90deg, transparent, rgba(34, 197, 94, 0.4), transparent);
				}

				&::after {
					content: '';
					position: absolute;
					top: 0;
					left: -100%;
					width: 100%;
					height: 100%;
					background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
					animation: _shimmer_1tu05_1 2s ease-in-out infinite;
				}

				._historyContent_1tu05_402 {
					._statusIcon_1tu05_403 {
						font-size: 16px;
						animation: _celebrate_1tu05_1 0.8s ease-in-out;
						filter: drop-shadow(0 2px 4px rgba(34, 197, 94, 0.5));
					}
				}
			}

			/* 突出显示 done 失败结果 */
			&._doneError_1tu05_412 {
				background: linear-gradient(
					135deg,
					rgba(239, 68, 68, 0.25),
					rgba(239, 68, 68, 0.15),
					rgba(239, 68, 68, 0.08)
				);
				border: none;
				border-left: 4px solid rgb(239, 68, 68);
				box-shadow:
					0 4px 12px rgba(239, 68, 68, 0.3),
					inset 0 1px 0 rgba(255, 255, 255, 0.2),
					0 0 20px rgba(239, 68, 68, 0.1);
				font-weight: 600;
				color: rgb(254, 226, 226);
				padding: 10px 12px;
				margin-bottom: 8px;
				border-radius: 8px;
				position: relative;
				overflow: hidden;

				&::before {
					background: linear-gradient(90deg, transparent, rgba(239, 68, 68, 0.4), transparent);
				}

				._historyContent_1tu05_402 {
					._statusIcon_1tu05_403 {
						font-size: 16px;
						filter: drop-shadow(0 2px 4px rgba(239, 68, 68, 0.5));
					}
				}
			}

			._historyContent_1tu05_402 {
				display: flex;
				align-items: flex-start;
				gap: 8px;

				word-break: break-all;
				white-space: pre-wrap;

				/* overflow-x: auto; */

				._statusIcon_1tu05_403 {
					font-size: 12px;
					flex-shrink: 0;
					line-height: 1;
					transition: all 0.3s ease;
				}

				._reflectionLines_1tu05_462 {
					display: flex;
					flex-direction: column;
					gap: 4px;
				}
			}

			._historyMeta_1tu05_469 {
				font-size: 10px;
				color: rgba(255, 255, 255, 0.6);
				/* color: rgb(61, 61, 61); */
				margin-top: 8px;
				line-height: 1;
			}
		}
	}
}

/* 动画关键帧 - 更快的闪烁 */
@keyframes _pulse_1tu05_1 {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.4;
		transform: scale(1.3);
	}
}

/* 重试动画 - 旋转脉冲 */
@keyframes _retryPulse_1tu05_1 {
	0%,
	100% {
		opacity: 1;
		transform: scale(1) rotate(0deg);
	}
	25% {
		opacity: 0.6;
		transform: scale(1.2) rotate(90deg);
	}
	50% {
		opacity: 0.8;
		transform: scale(1.1) rotate(180deg);
	}
	75% {
		opacity: 0.6;
		transform: scale(1.2) rotate(270deg);
	}
}

/* 庆祝动画 */
@keyframes _celebrate_1tu05_1 {
	0%,
	100% {
		transform: scale(1);
	}
	25% {
		transform: scale(1.2) rotate(-5deg);
	}
	75% {
		transform: scale(1.2) rotate(5deg);
	}
}

/* done 卡片的光泽效果 */
@keyframes _shimmer_1tu05_1 {
	0% {
		left: -100%;
	}
	100% {
		left: 100%;
	}
}

/* 输入区域样式 */
._inputSectionWrapper_1tu05_539 {
	position: absolute;
	width: var(--history-width);
	top: var(--height);
	left: var(--side-space);
	z-index: -1;

	visibility: visible;
	overflow: hidden;

	height: 48px;

	transition: all 0.2s;

	background: rgba(186, 186, 186, 0.2);
	backdrop-filter: blur(10px);

	border-bottom-left-radius: calc(var(--border-radius) + 4px);
	border-bottom-right-radius: calc(var(--border-radius) + 4px);

	border: 2px solid rgba(255, 255, 255, 0.3);
	box-shadow: 0 1px 16px rgba(0, 0, 0, 0.4);

	&._hidden_1tu05_562 {
		visibility: collapse;
		height: 0;
	}

	._inputSection_1tu05_539 {
		display: flex;
		align-items: center;
		gap: 4px;
		padding: 8px 8px;

		._taskInput_1tu05_573 {
			flex: 1;
			background: rgba(255, 255, 255, 0.4);
			border: 1px solid rgba(255, 255, 255, 0.3);
			border-radius: 10px;
			padding-inline: 10px;
			color: rgb(20, 20, 20);
			font-size: 12px;
			height: 28px;
			line-height: 1;
			outline: none;
			transition: all 0.2s ease;

			/* text-shadow: 0 0 2px rgba(255, 255, 255, 0.8); */

			/* border-color: rgba(57, 182, 255, 0.3); */

			&::placeholder {
				color: rgb(53, 53, 53);
			}

			&:focus {
				background: rgba(255, 255, 255, 0.8);
				border-color: rgba(57, 182, 255, 0.6);
				box-shadow: 0 0 0 2px rgba(57, 182, 255, 0.2);
			}
		}
	}
}
/* ─── Typography System — Vitadoc ERP ─────────────────────────────────────── */

:root {
  /* Font family */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Scale */
  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-lg:   18px;
  --text-xl:   20px;

  /* Weight */
  --font-regular:  400;
  --font-medium:   500;   /* labels, table headers, form labels */
  --font-semibold: 600;   /* headings, page titles, section titles */

  /* Line height */
  --leading-tight:  1.25;
  --leading-normal: 1.5;  /* body default */

  /* Text colors */
  --text-primary:   #111827;
  --text-secondary: #6b7280;
  --text-muted:     #9ca3af;
  --text-disabled:  #d1d5db;
  --text-inverse:   #ffffff;
}

/* ─── Base reset ────────────────────────────────────────────────────────────── */

*,
*::before,
*::after {
  font-family: var(--font-sans);
}

body {
  margin: 0;
  padding: 0;
  font-size: var(--text-sm);
  font-weight: var(--font-regular);
  line-height: var(--leading-normal);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── Semantic roles ────────────────────────────────────────────────────────── */

/* Page title — dùng đầu mỗi trang module */
.typo-page-title {
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
  color: var(--text-primary);
}

/* Section title — dùng phân nhóm trong trang */
.typo-section-title {
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
  color: var(--text-primary);
}

/* Card / Panel title */
.typo-card-title {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
  color: var(--text-primary);
}

/* Form label / table column header */
.typo-label {
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  line-height: var(--leading-normal);
  color: var(--text-primary);
}

/* Body / cell content */
.typo-body {
  font-size: var(--text-sm);
  font-weight: var(--font-regular);
  line-height: var(--leading-normal);
  color: var(--text-primary);
}

/* Secondary info — sub-text, hints */
.typo-secondary {
  font-size: var(--text-sm);
  font-weight: var(--font-regular);
  line-height: var(--leading-normal);
  color: var(--text-secondary);
}

/* Caption / metadata — timestamps, IDs */
.typo-caption {
  font-size: var(--text-xs);
  font-weight: var(--font-regular);
  line-height: var(--leading-normal);
  color: var(--text-secondary);
}

/* ─── Ant Design overrides ──────────────────────────────────────────────────── */

/* Table column headers */
.ant-table-thead > tr > th {
  font-size: var(--text-xs) !important;
  font-weight: var(--font-semibold) !important;
  color: var(--text-secondary) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Table body cells */
.ant-table-tbody > tr > td {
  font-size: var(--text-sm) !important;
  font-weight: var(--font-regular) !important;
  line-height: var(--leading-normal) !important;
  color: var(--text-primary) !important;
}

/* Form labels */
.ant-form-item-label > label {
  font-size: var(--text-sm) !important;
  font-weight: var(--font-medium) !important;
  color: var(--text-primary) !important;
}

/* Modal title */
.ant-modal-title {
  font-size: var(--text-base) !important;
  font-weight: var(--font-semibold) !important;
}

/* Drawer title */
.ant-drawer-title {
  font-size: var(--text-base) !important;
  font-weight: var(--font-semibold) !important;
}

/* Card title */
.ant-card-head-title {
  font-size: var(--text-base) !important;
  font-weight: var(--font-semibold) !important;
}

/* Descriptions label */
.ant-descriptions-item-label {
  font-size: var(--text-sm) !important;
  font-weight: var(--font-medium) !important;
  color: var(--text-secondary) !important;
}

/* Menu items */
.ant-menu-item,
.ant-menu-submenu-title {
  font-size: var(--text-sm) !important;
}

/* Tabs */
.ant-tabs-tab {
  font-size: var(--text-sm) !important;
  font-weight: var(--font-medium) !important;
}

/* Buttons */
.ant-btn {
  font-size: var(--text-sm) !important;
  font-weight: var(--font-medium) !important;
}

/* Input, Select placeholder */
.ant-input::placeholder,
.ant-select-selection-placeholder {
  color: var(--text-muted) !important;
  font-size: var(--text-sm);
}

/* ─── Responsive table ──────────────────────────────────────────────────────── */

.ant-table-wrapper {
  width: 100%;
}

/* Tablet (≤1024px): compact padding */
@media (max-width: 1024px) {
  .ant-table-thead > tr > th,
  .ant-table-tbody > tr > td {
    padding: 10px 12px !important;
  }
}

/* Mobile (≤768px): tighter padding, smaller font */
@media (max-width: 768px) {
  .ant-table-thead > tr > th,
  .ant-table-tbody > tr > td {
    padding: 8px 10px !important;
    font-size: var(--text-xs) !important;
    white-space: nowrap;
  }

  /* Toolbar: stack filters vertically */
  .page-toolbar {
    flex-direction: column;
    align-items: stretch !important;
    gap: 8px;
  }

  .page-toolbar .ant-space {
    flex-wrap: wrap;
  }
}

/* Small mobile (≤480px) */
@media (max-width: 480px) {
  .ant-table-thead > tr > th,
  .ant-table-tbody > tr > td {
    padding: 6px 8px !important;
  }

  .ant-pagination {
    font-size: var(--text-xs) !important;
  }

  .ant-pagination .ant-pagination-options {
    display: none;
  }
}
/* ─── Reconciliation Print Styles ─────────────────────────────────────────── */

/* Hide print area on screen */
#reconciliation-print-area {
  display: none;
}

@media print {
  /* Hide the entire app */
  body > *:not(#reconciliation-print-area) {
    display: none !important;
  }

  /* Show print area */
  #reconciliation-print-area {
    display: block !important;
    font-family: 'Times New Roman', Times, serif;
    font-size: 11pt;
    color: #000;
    background: #fff;
    padding: 15mm 20mm 15mm 20mm;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Quốc hiệu */
  .rp-national-header {
    text-align: center;
    margin-bottom: 6px;
    font-size: 11pt;
    line-height: 1.6;
  }

  /* Tiêu đề */
  .rp-title-block {
    text-align: center;
    margin: 8px 0 14px;
  }

  .rp-main-title {
    font-size: 14pt;
    font-weight: bold;
    text-transform: uppercase;
  }

  .rp-sub-title {
    font-size: 13pt;
    font-weight: bold;
    text-transform: uppercase;
  }

  /* Mở đầu */
  .rp-opening {
    margin: 8px 0 6px;
    font-size: 11pt;
  }

  /* Bảng thông tin các bên */
  .rp-info-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 10.5pt;
    margin-bottom: 8px;
  }

  .rp-info-table td {
    padding: 3px 6px;
    border: 1px solid #666;
    vertical-align: top;
    word-wrap: break-word;
  }

  .rp-info-right {
    text-align: right;
    white-space: nowrap;
  }

  /* Văn bản dẫn nhập */
  .rp-intro {
    margin: 2px 0;
    font-size: 10.5pt;
  }

  /* Bảng chi tiết giao dịch */
  .rp-detail-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 9pt;
    margin-bottom: 0;
    page-break-inside: auto;
  }

  .rp-detail-table th {
    background: #222;
    color: #fff;
    padding: 4px 6px;
    border: 1px solid #222;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .rp-detail-table td {
    padding: 3px 6px;
    border: 1px solid #aaa;
    vertical-align: top;
    word-wrap: break-word;
    overflow: hidden;
  }

  .rp-detail-table tbody tr:nth-child(even) td {
    background: #f5f5f5;
  }

  .rp-detail-table tbody tr {
    page-break-inside: avoid;
  }

  .rp-detail-total td {
    border-top: 1.5px solid #000;
    font-weight: bold;
    background: #f0f0f0;
  }

  .rp-detail-table code {
    font-family: 'Courier New', monospace;
    font-size: 8.5pt;
  }

  /* Bảng tổng kết tài chính */
  .rp-tax-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5pt;
    margin-top: 0;
    margin-bottom: 8px;
  }

  .rp-tax-table td {
    padding: 3px 8px;
    border: 1px solid #666;
  }

  .rp-tax-num {
    text-align: right;
    width: 180px;
    white-space: nowrap;
  }

  .rp-tax-total td {
    font-weight: bold;
  }

  /* Ghi chú */
  .rp-note {
    font-size: 10pt;
    margin: 6px 0;
    padding: 4px 8px;
    border: 1px dashed #aaa;
    background: #fffbf0;
  }

  /* Kết luận */
  .rp-conclusion {
    font-size: 10pt;
    margin: 4px 0;
  }

  /* Chữ ký */
  .rp-signatures {
    display: flex;
    justify-content: space-around;
    margin-top: 24px;
  }

  .rp-signature-block {
    text-align: center;
    width: 220px;
  }

  .rp-signature-title {
    font-weight: bold;
    font-size: 11pt;
  }

  .rp-signature-sub {
    font-size: 9pt;
    color: #333;
    font-style: italic;
    margin: 4px 0 52px;
  }

  .rp-signature-line {
    border-top: 1px solid #333;
    margin: 0 20px;
  }

  /* Page settings */
  @page {
    size: A4;
    margin: 0;
  }
}
