* {
	margin: 0;
	padding: 0;
}
html, body {
    margin: 0;
    display: block;
	width: 100%;
	min-width: 1200px;
}
.transfer {
    width: 100%;
    height: auto;
    overflow: auto;
    min-width: 1200px;
	position: relative;
	background-color: #f5f5f5;
	padding-bottom: 40px;
}
@media screen and (min-width: 1200px) {
    .transfer-common {
        width: 1300px;
        margin: auto;
        padding-top: 16px;
    }
}
@media screen and (max-width: 1200px) {
	.transfer-common {
		width: 1200px;
		margin: auto;
		padding-top: 16px;
	}
}

/* ===== 顶部标题 ===== */
.transfer-title {
	font-size: 22px;
	font-weight: 500;
	color: var(--c-primary-deep);
	padding: 24px 0 4px;
}

/* ===== 白色卡片 ===== */
.transfer-card {
	background-color: #fff;
	border-radius: 8px;
	padding: 24px 30px;
	margin-top: 16px;
}

/* ===== 表单区块 ===== */
.tf-row {
	display: flex;
	align-items: flex-start;
	margin-bottom: 20px;
}
.tf-label {
	width: 76px;
	flex-shrink: 0;
	font-size: 14px;
	color: #333;
	line-height: 34px;
	text-align: left;
}
.tf-label .required {
	color: var(--c-primary);
	margin-right: 3px;
}
.tf-control {
	flex: 1;
}

/* ===== 通用选项按钮（选择方式 / 科类） ===== */
.tf-mode-list {
	display: flex;
	flex-wrap: wrap;
}
.tf-mode {
	display: inline-block;
	padding: 0 22px;
	height: 34px;
	line-height: 32px;
	font-size: 13px;
	color: var(--c-text-2);
	background-color: #f5f5f5;
	border: 1px solid transparent;
	border-radius: 4px;
	margin-right: 8px;
	margin-bottom: 10px;
	cursor: pointer;
	user-select: none;
	transition: all .3s ease;
}
.tf-mode:hover {
	color: var(--c-primary);
	background-color: var(--c-primary-bg);
}
.tf-mode.active {
	color: var(--c-primary);
	background-color: var(--c-primary-bg);
	border-color: var(--c-primary);
}

/* ===== 盟市按钮 ===== */
.tf-city-list {
	display: flex;
	flex-wrap: wrap;
}
.tf-city {
	display: inline-block;
	padding: 0 18px;
	height: 34px;
	line-height: 32px;
	font-size: 13px;
	color: var(--c-text-2);
	background-color: #f5f5f5;
	border: 1px solid transparent;
	border-radius: 4px;
	margin-right: 10px;
	margin-bottom: 10px;
	cursor: pointer;
	user-select: none;
	transition: all .3s ease;
}
.tf-city:hover {
	color: var(--c-primary);
	background-color: var(--c-primary-bg);
}
.tf-city.active {
	color: var(--c-primary);
	background-color: var(--c-primary-bg);
	border-color: var(--c-primary);
}

/* ===== 输入框
   提高特异性并显式声明 box-sizing，防止被 login.css 全局规则覆盖 ===== */
input.tf-input {
	width: 100%;
	max-width: 420px;
	height: 34px;
	min-height: 34px;
	box-sizing: border-box;
	line-height: 32px;
	padding: 0 12px;
	font-size: 13px;
	font-family: inherit;
	color: #333;
	background-color: #fff;
	border: 1px solid var(--c-line);
	border-radius: 4px;
	outline: none;
	transition: border-color .2s;
	appearance: none;
	-webkit-appearance: none;
}
input.tf-input:hover {
	border-color: var(--c-primary-light);
}
input.tf-input:focus {
	border-color: var(--c-primary);
	box-shadow: 0 0 0 2px rgba(28, 97, 232, .12);
	outline: none;
}
input.tf-input::placeholder {
	color: #bbb;
}

/* ===== 提交按钮
   提高特异性，防止被全局 button 规则覆盖 ===== */
button.tf-submit {
	display: inline-block;
	width: auto;
	height: 34px;
	min-width: 0;
	line-height: 32px;
	padding: 0 22px;
	font-size: 13px;
	font-weight: 400;
	color: #fff;
	background-color: var(--c-primary);
	border: 1px solid var(--c-primary);
	border-radius: 4px;
	cursor: pointer;
	transition: all .3s ease;
	appearance: none;
	-webkit-appearance: none;
}
button.tf-submit:hover {
	opacity: .88;
	background-color: var(--c-primary-deep);
	border-color: var(--c-primary-deep);
	color: #fff;
}
button.tf-submit.disabled {
	opacity: .5;
	cursor: not-allowed;
}

/* ===== 结果表格 ===== */
.tf-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.tf-table th {
	color: var(--c-primary-deep);
	font-weight: 500;
	text-align: center;
	padding: 14px 10px;
	background-color: var(--c-primary-bg);
	border-bottom: 1px solid var(--c-line);
}
.tf-table td {
	color: var(--c-text-2);
	text-align: center;
	padding: 15px 10px;
	border-bottom: 1px solid #f2f2f2;
}
.tf-table tbody tr:hover {
	background-color: #fafcff;
}
.tf-table .col-city {
	text-align: left;
	padding-left: 30px;
}

/* 单元格内的状态提示 */
.cell-status {
	display: block;
	font-size: 12px;
	color: var(--c-primary);
	margin-top: 3px;
}
/* 区间推算：可信度配色 */
.cell-strong {
	font-weight: 500;
	color: var(--c-primary-deep);
}
.cell-status.rel-good {
	color: #67c23a;
}
.cell-status.rel-mid {
	color: var(--c-primary);
}
.cell-status.rel-bad {
	color: #e6a23c;
}

/* 表单内说明文字 */
.tf-hint {
	display: inline-block;
	margin-left: 12px;
	font-size: 12px;
	color: var(--c-text-3);
	line-height: 34px;
}

/* ===== 重要提示 ===== */
.tf-tip {
	background-color: #fff;
	border-radius: 8px;
	padding: 20px 30px;
	margin-top: 16px;
}
.tf-tip-title {
	font-size: 14px;
	font-weight: 500;
	color: #333;
	margin-bottom: 10px;
}
.tf-tip-title .asterisk {
	color: var(--c-primary);
	margin-right: 4px;
}
.tf-tip-content {
	font-size: 13px;
	color: var(--c-text-3);
	line-height: 1.9;
	padding-left: 18px;
}
.tf-tip-content li {
	list-style: disc;
}

/* 精度提示：单独用醒目底色，与一般条目区分开 */
.tf-tip-content li.tf-tip-warn {
	margin-top: 8px;
	padding: 10px 14px;
	border-radius: 6px;
	background-color: #fff8e6;
	border-left: 3px solid #fa8c16;
	color: #614700;
	list-style: none;
}

/* ===== 精度图例 ===== */
.tf-legend {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dashed #e8e8e8;
}
.tf-legend-title {
	font-size: 12px;
	color: #999;
}
.tf-legend-item {
	display: flex;
	align-items: center;
	font-size: 12px;
	color: var(--c-text-3);
}
.tf-legend-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin-right: 6px;
	flex-shrink: 0;
}
.tf-legend-dot.is-sampled {
	background-color: #52c41a;
}
.tf-legend-dot.is-interp {
	background-color: #fa8c16;
}

/* ===== 空状态 ===== */
.empty-tip {
	text-align: center;
	padding: 40px 0;
	font-size: 13px;
	color: #bbb;
}
