body {
	margin: 0;
}

.tac {
	text-align: center;
}

.tal {
	text-align: left;
}

.tip {
	color: #999;
	font-size: 12px;
}

.mb {
	margin-bottom: 12px;
}

.nowrap {
	white-space: nowrap;
}

.red {
	color: #f00;
}

.notice {
	color: #ff00e9;
}

.btn,
button {
	cursor: pointer;
	border: none;
	padding: 3px 6px;
	white-space: nowrap;
}

.btn.small,
button.small {
	font-size: 12px;
	padding: 2px 11px;
	border-radius: 4px;
}

.btn.big,
button.big {
	font-size: 13px;
	min-width: 140px;
	line-height: 32px;
	border-radius: 32px;
}

.btn.disabled,
.btn:disabled,
button.disabled,
button:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

.btn,
button {
	padding: 3px 6px;
	color: #fff;
	background-color: #1b78ff;
	cursor: pointer;
}

.btn:hover,
button:hover {
	background-color: rgba(27, 120, 255, 0.8);
}

.btn.success,
button.success {
	padding: 3px 6px;
	color: #fff;
	background-color: #67c23a;
	cursor: pointer;
}

.btn.success:hover,
button.success:hover {
	background-color: rgba(103, 194, 58, 0.8);
}

.btn.warning,
button.warning {
	padding: 3px 6px;
	color: #fff;
	background-color: #e6a23c;
	cursor: pointer;
}

.btn.warning:hover,
button.warning:hover {
	background-color: rgba(230, 162, 60, 0.8);
}

.btn.error,
button.error {
	padding: 3px 6px;
	color: #fff;
	background-color: #f56c6c;
	cursor: pointer;
}

.btn.error:hover,
button.error:hover {
	background-color: rgba(245, 108, 108, 0.8);
}

.btn.primary-plain,
button.primary-plain {
	padding: 3px 6px;
	background-color: #fff;
	color: #1b78ff;
	border: 1px solid #1b78ff;
	cursor: pointer;
}

.btn.primary-plain:hover,
button.primary-plain:hover {
	color: rgba(27, 120, 255, 0.7);
	border-color: rgba(27, 120, 255, 0.7);
}

.btn.success-plain,
button.success-plain {
	padding: 3px 6px;
	background-color: #fff;
	color: #67c23a;
	border: 1px solid #67c23a;
	cursor: pointer;
}

.btn.success-plain:hover,
button.success-plain:hover {
	color: rgba(103, 194, 58, 0.7);
	border-color: rgba(103, 194, 58, 0.7);
}

.btn.error-plain,
button.error-plain {
	padding: 3px 6px;
	background-color: #fff;
	color: #f56c6c;
	border: 1px solid #f56c6c;
	cursor: pointer;
}

.btn.error-plain:hover,
button.error-plain:hover {
	color: rgba(245, 108, 108, 0.7);
	border-color: rgba(245, 108, 108, 0.7);
}

.btn.primary-link,
button.primary-link {
	padding: 3px 6px;
	color: #1b78ff;
	background-color: #fff;
}

.btn.primary-link:hover,
button.primary-link:hover {
	color: #3587ff;
}

.btn.primary-link.active,
.btn.primary-link:active,
button.primary-link.active,
button.primary-link:active {
	color: #68a5ff;
}

.btn.success-link,
button.success-link {
	padding: 3px 6px;
	color: #67c23a;
	background-color: #fff;
}

.btn.success-link:hover,
button.success-link:hover {
	color: #76c94c;
}

.btn.success-link.active,
.btn.success-link:active,
button.success-link.active,
button.success-link:active {
	color: #94d573;
}

.btn.error-link,
button.error-link {
	padding: 3px 6px;
	color: #f56c6c;
	background-color: #fff;
}

.btn.error-link:hover,
button.error-link:hover {
	color: #f78484;
}

.btn.error-link.active,
.btn.error-link:active,
button.error-link.active,
button.error-link:active {
	color: #fab4b4;
}

.loading-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	border-top-color: transparent;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

* {
	box-sizing: border-box;
}

.flex-center {
	display: flex;
	align-items: center;
}

.flex-wrap {
	display: flex;
	flex-wrap: wrap;
}
