.arrow {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	transform: rotate(90deg);

	&::marker {
		content: '';
	}
	&::after {
		content: '';
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='5' width='5' viewBox='0 0 320 512'%3E%3Cpath fill='%238c1aff' d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E");
		background-size: contain;
		background-repeat: no-repeat;
		width: 12px;
		aspect-ratio: 1;
		display: block;
		transition: transform 0.5s ease;
	}
	[open] &::after {
		transform: rotate(180deg);
	}
}

.btn_text {
	&::marker {
		content: '';
	}
	&::after {
		content: 'Improve your grade?';
	}
	[open] &::after {
		content: 'Hide';
	}
}

.btn-style {
	width: 10rem;
	height: 1.25rem;
	display: flex;
	flex-direction: row;
	flex-shrink: 0;
	align-items: center;
	margin: 0 0 0 auto;
	justify-content: space-between;
	text-wrap: nowrap;
	padding: 0.25rem 0.5rem;
	font-size: 0.7rem;
	line-height: 1rem;
	outline: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	cursor: pointer;
}

.btn-style:hover {
	background-color: #f3f4f6;
}

.summary-pointer-events-none {
	pointer-events: none;
}

.clickable {
	pointer-events: auto;
}

.multiple-report-card {
	width: 100%;
	max-width: 1400px;
}

.table-header-section {
	width: 148px;
	flex-shrink: 0;
	text-align: center;
	font-weight: 600;
	line-height: 1;
	flex-shrink: 0;
	padding: 0.75rem;
}

.table-cell-account {
	width: 200px;
	min-width: 200px;
	max-width: 200px;
	box-sizing: border-box;
	padding: 0.75rem;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	flex-shrink: 0;
}

.table-cell-section {
	width: 148px;
	min-width: 148px;
	max-width: 148px;
	box-sizing: border-box;
	padding: 0.75rem;
	text-align: center;
	flex-shrink: 0;
}

.table-cell-actions {
	width: 120px;
	min-width: 120px;
	max-width: 120px;
	box-sizing: border-box;
	padding: 0.5rem;
	text-align: center;
	flex-shrink: 0;
	font-size: 0.875rem;
}

/* Historical funnel report card — compact, fixed-layout table */
.historical-funnel-table {
	table-layout: fixed;
	width: 100%;
}

.historical-table-header-date {
	width: 130px;
	text-align: center;
	font-weight: 600;
	line-height: 1;
	padding: 0.75rem 0.5rem;
}

.historical-table-header-section {
	text-align: center;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.75rem 0.25rem;
	word-break: break-word;
}

.historical-table-header-details {
	width: 100px;
	text-align: center;
	font-weight: 600;
	line-height: 1;
	padding: 0.75rem 0.25rem;
}

.historical-table-cell-date {
	width: 130px;
	box-sizing: border-box;
	padding: 0.75rem 0.5rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
}

.historical-table-cell-section {
	box-sizing: border-box;
	padding: 0.5rem 0.25rem;
	text-align: center;
}

.historical-table-cell-actions {
	width: 100px;
	box-sizing: border-box;
	padding: 0.5rem 0.25rem;
	text-align: center;
	font-size: 0.875rem;
}

.group-border {
	width: 100%;
	border: 2px solid #d1d5db;
	border-radius: 0.75rem;
	overflow: hidden;
}

/* Apply border to all sections except the last one */
details[name='report_card_section'] {
	border-bottom: 1px solid #d1d5db;
}

details[name='report_card_section']:last-child {
	border-bottom: none;
}

/* XSmall Size Grade */
.grade-xs {
	@apply h-6 w-6 shrink-0 items-center justify-center tracking-tighter rounded-md mx-auto;
}
.grade-a-xs {
	@apply bg-green-600 text-white text-sm font-semibold;
}
.grade-b-xs {
	@apply bg-lime-400 text-black text-sm font-semibold;
}
.grade-c-xs {
	@apply bg-amber-400 text-black text-sm font-semibold;
}
.grade-d-xs {
	@apply bg-orange-500 text-black text-sm font-semibold;
}
.grade-f-xs {
	@apply bg-red-600 text-white text-sm font-semibold;
}
.grade-unknown-xs {
	@apply bg-gray-200 text-gray-500 text-xs font-medium lowercase;
}

/* Small Size Grade */
.grade-sm {
	@apply h-8 w-8 shrink-0 items-center justify-center tracking-tighter rounded-md mx-auto;
}
.grade-a-sm {
	@apply bg-green-600 text-white text-lg font-semibold;
}
.grade-b-sm {
	@apply bg-lime-400 text-black text-lg font-semibold;
}
.grade-c-sm {
	@apply bg-amber-400 text-black text-lg font-semibold;
}
.grade-d-sm {
	@apply bg-orange-500 text-black text-lg font-semibold;
}
.grade-f-sm {
	@apply bg-red-600 text-white text-lg font-semibold;
}
.grade-unknown-sm {
	@apply bg-gray-200 text-gray-500 text-sm font-semibold;
}

/* Medium Size Grade */
.grade-md {
	@apply h-10 w-10 shrink-0 items-center justify-center tracking-tighter rounded-md mx-auto;
}
.grade-a-md {
	@apply bg-green-600 text-white text-2xl font-semibold;
}
.grade-b-md {
	@apply bg-lime-400 text-black text-2xl font-semibold;
}
.grade-c-md {
	@apply bg-amber-400 text-black text-2xl font-semibold;
}
.grade-d-md {
	@apply bg-orange-500 text-black text-2xl font-semibold;
}
.grade-f-md {
	@apply bg-red-600 text-white text-2xl font-semibold;
}
.grade-unknown-md {
	@apply bg-gray-200 text-gray-500 text-sm font-semibold;
}

/* Large Size Grade */
.grade-lg {
	@apply h-12 w-12 shrink-0 items-center justify-center tracking-tighter rounded-md mx-auto;
}
.grade-a-lg {
	@apply bg-green-600 text-white text-4xl font-semibold;
}
.grade-b-lg {
	@apply bg-lime-400 text-black text-4xl font-semibold;
}
.grade-c-lg {
	@apply bg-amber-400 text-black text-4xl font-semibold;
}
.grade-d-lg {
	@apply bg-orange-500 text-black text-4xl font-semibold;
}
.grade-f-lg {
	@apply bg-red-600 text-white text-4xl font-semibold;
}
.grade-unknown-lg {
	@apply bg-gray-200 text-gray-500 text-sm font-semibold;
}

/* XLarge Size Grade */
.grade-xl {
	@apply h-16 w-16 shrink-0 items-center justify-center tracking-tighter rounded-md mx-auto;
}
.grade-a-xl {
	@apply bg-green-600 text-white text-5xl font-semibold;
}
.grade-b-xl {
	@apply bg-lime-400 text-black text-5xl font-semibold;
}
.grade-c-xl {
	@apply bg-amber-400 text-black text-5xl font-semibold;
}
.grade-d-xl {
	@apply bg-orange-500 text-black text-5xl font-semibold;
}
.grade-f-xl {
	@apply bg-red-600 text-white text-5xl font-semibold;
}
.grade-unknown-xl {
	@apply bg-gray-200 text-gray-500 text-base font-semibold;
}
