.tool-section-title {
	font-size: 1.2em;
	font-weight: bold;
	margin: 10px 0 12px;
	border-left: 4px solid #337ab7;
	padding-left: 8px;
}
.form-group {
	margin-bottom: 14px;
}
.form-group label {
	display: block;
	font-weight: bold;
	margin-bottom: 4px;
}
.cost-select {
	max-width: 280px;
}
.input-with-toggle {
	display: flex;
	gap: 6px;
	align-items: center;
}
.input-with-toggle .form-control {
	flex: 1;
}
.loading-msg {
	margin-left: 10px;
	color: #888;
	font-size: 0.95em;
	vertical-align: middle;
}
.loading-msg .material-icons {
	font-size: 1.1em;
	vertical-align: middle;
}
@keyframes rotate {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}
.rotating {
	display: inline-block;
	animation: rotate 1s linear infinite;
}
.result-area {
	margin-top: 6px;
	padding: 10px;
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 4px;
}
.result-area label {
	font-weight: bold;
	margin-bottom: 6px;
	display: block;
}
.hash-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.hash-value {
	word-break: break-all;
	font-size: 0.95em;
	background: #fff;
	border: 1px solid #ccc;
	padding: 4px 8px;
	border-radius: 3px;
	flex: 1;
}
.verify-ok {
	color: #3c763d;
	font-weight: bold;
	font-size: 1.1em;
}
.verify-ng {
	color: #a94442;
	font-weight: bold;
	font-size: 1.1em;
}
.verify-ok .material-icons,
.verify-ng .material-icons {
	vertical-align: middle;
	font-size: 1.2em;
}

/* 比較テーブル */
table.tblCost,
table.tblCompare {
	margin: 8px 0 16px 0;
	width: 100%;
	border-collapse: collapse;
}
.tblCost th, .tblCost td,
.tblCompare th, .tblCompare td {
	border: 1px solid #808080;
	padding: 5px 8px;
	font-size: 0.95em;
}
.tblCost th,
.tblCompare th {
	background: #f5f5f5;
	font-weight: bold;
}
.tblCompare tr.bad td { background: #fdf2f2; }
.tblCompare tr.good td { background: #f2fdf4; }
.tblCompare td.ok { color: #3c763d; font-weight: bold; }
.tblCompare td.ng { color: #a94442; font-weight: bold; }
.tblCompare td.ok .material-icons,
.tblCompare td.ng .material-icons {
	font-size: 1em;
	vertical-align: middle;
}
