.ipm-table-tools {
	width: 100%;
	display: flex;
	justify-content: right;
}
.ipm-table-tools button {
	margin-right: 0.5em;
	font-size: 1.3em;
}
.ipm-table-tools button:last-child {
	margin-right: unset;
}

.ipm-table {
	--ipm-col-width: 120px;
	width: 100%;
}
.ipm-table.ipm-table-general .table-row {
	width: fit-content;
	min-width: 100%;
	min-height: 40px;
	display: flex;
}
.ipm-table.ipm-table-general .table-row.table-row-header {
	font-weight: bold;
	border-bottom: solid 2px var(--color-body);
}
.ipm-table.ipm-table-general .table-row.table-row-header i {
	margin-right: 0.5em;
}
.ipm-table.ipm-table-general .table-row.table-row-group {
	font-weight: bold;
	color: var(--color-header);
	background-color: var(--color-header-opacity);
	border-top: solid 1px var(--color-background);
	border-bottom: solid 1px var(--color-background);
}
.ipm-table.ipm-table-general .table-row.table-row-group .table-col:first-child i {
	margin-right: 0.25em;
	-webkit-transition: transform 0.5s;
	-ms-transition: transform 0.5s;
	transition: transform 0.5s;
}
.ipm-table.ipm-table-general .table-row.table-row-group .table-col.table-col-name {
	color: var(--color-header);
}
.ipm-table.ipm-table-general .table-row.table-row-group .table-col.table-col-status, .ipm-table.ipm-table-general .table-row.table-row-group .table-col.table-col-broken {
	justify-content: center;
	font-size: 1.25em;
}
.ipm-table.ipm-table-general .table-row.table-row-group .table-col.table-col-broken {
	color: var(--color-body);
}
.ipm-table.ipm-table-general .table-row.table-row-group .table-col.table-col-history .table-col-history-icons {
	font-size: 1.25em;
}
.ipm-table.ipm-table-general .table-row.table-row-group.collapsed .table-col:first-child i {
	transform: rotate(180deg);
}
.ipm-table.ipm-table-general .table-row.table-row-list:nth-child(even) {
	background-color: var(--color-row);
}
.ipm-table.ipm-table-general .table-row.table-row-list:nth-child(even) .table-col-tools {
	background-color: var(--color-row);
}
.ipm-table.ipm-table-general .table-row.table-row-list .table-col.table-col-name i {
	width: 24px;
}
.ipm-table.ipm-table-general .table-row.table-row-list .table-col.table-col-status, .ipm-table.ipm-table-general .table-row.table-row-list .table-col.table-col-broken {
	justify-content: center;
	font-size: 1.25em;
}
.ipm-table.ipm-table-general .table-row.table-row-list .table-col.table-col-history .table-col-history-icons {
	font-size: 1.25em;
}
.ipm-table.ipm-table-general .table-row.table-row-list .table-col.table-col-history .table-col-history-freq {
	margin-left: 1em;
}
.ipm-table.ipm-table-general .table-row [type=button] {
	padding: unset;
	display: flex;
}
.ipm-table.ipm-table-general .table-row .table-col {
	padding: 0.5em 1em;
	border-right: solid 1px var(--color-line-opacity);
	display: flex;
	align-items: start;
	justify-content: left;
}
.ipm-table.ipm-table-general .table-row .table-col span,
.ipm-table.ipm-table-general .table-row .table-col [type=button] {
	padding-top: 0.25em;
}
.ipm-table.ipm-table-general .table-row .table-col:last-child {
	border-right: unset;
}
.ipm-table.ipm-table-general .table-row .table-col.table-i-prefix i {
	width: 12px;
	margin-right: 0.5em;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-fill {
	flex-grow: 1;
	min-width: 60px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-120 {
	width: 120px;
	max-width: 120px;
	min-width: 120px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-160 {
	width: 160px;
	max-width: 160px;
	min-width: 160px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-240 {
	width: 240px;
	max-width: 240px;
	min-width: 240px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-360 {
	width: 360px;
	max-width: 360px;
	min-width: 360px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-id {
	width: 96px;
	max-width: 96px;
	min-width: 96px;
	font-weight: bold;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-name {
	width: 240px;
	max-width: 240px;
	min-width: 240px;
	font-weight: bold;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-frequency {
	width: 120px;
	max-width: 120px;
	min-width: 120px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-operation, .ipm-table.ipm-table-general .table-row .table-col.table-col-area {
	width: 240px;
	max-width: 240px;
	min-width: 240px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-amount, .ipm-table.ipm-table-general .table-row .table-col.table-col-balance {
	width: 160px;
	max-width: 160px;
	min-width: 160px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-user {
	width: 240px;
	max-width: 240px;
	min-width: 240px;
	font-weight: bold;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-timestamp {
	width: 240px;
	max-width: 240px;
	min-width: 240px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-days {
	width: 160px;
	max-width: 160px;
	min-width: 160px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-tools {
	position: sticky;
	right: 0;
	background-color: white;
	border-left: solid 1px;
	width: fit-content;
	min-width: 72px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-tools [type=button] {
	margin-right: 0.5em;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-tools [type=button]:last-child {
	margin-right: unset;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-description {
	width: 300px;
	max-width: 300px;
	min-width: 300px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-status, .ipm-table.ipm-table-general .table-row .table-col.table-col-broken {
	width: 120px;
	max-width: 120px;
	min-width: 120px;
	font-weight: bold;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-history {
	width: 240px;
	max-width: 240px;
	min-width: 240px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-history-s {
	width: 240px;
	max-width: 240px;
	min-width: 240px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-stock {
	width: 600px;
	max-width: 600px;
	min-width: 600px;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-stock .table-col-stock-group {
	min-width: 200px;
	display: flex;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-stock .table-col-stock-amount {
	width: calc(120px - 1.5em);
	font-size: 1.25em;
	text-align: center;
	font-weight: bold;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-stock .table-col-stock-badge {
	margin-left: 1em;
}
.ipm-table.ipm-table-general .table-row .table-col.table-col-stock .table-col-stock-chart {
	width: 100%;
	margin-left: 2em;
}