/*
 * unified.css - 永畅物流全站视觉尺寸统一规范
 * 由脚本自动引入到每个页面，最后加载以覆盖页面级自定义差异。
 * 目标：统一「大小、间距、字号、圆角」，保留各业务模块的主题色。
 */

/* ==================================================
   1. 页面标题区
   ================================================== */
.fc-title,
.page-title,
.report-title,
.section-main-title,
.page-content > h1,
.main-content > h1 {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #1F2937 !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}

.fc-subtitle,
.page-subtitle,
.report-subtitle,
.page-desc,
.main-content > h1 + p,
.fc-title + p {
  font-size: 14px !important;
  color: #6B7280 !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
}

/* ==================================================
   2. 主内容区 padding / 页面间距
   ================================================== */
.main-content,
.page-content,
.report-main-content,
.content-scroll {
  padding: 16px !important;
}

/* ==================================================
   3. 指标 / KPI 卡
   ================================================== */
.stat-card,
.metric-card,
.kpi-card,
.overview-card,
.stats-row > div,
.metrics-grid > div {
  padding: 16px !important;
  border-radius: 8px !important;
  min-height: 120px !important;
  box-sizing: border-box !important;
}

.stat-card .stat-header,
.metric-card .metric-info,
.stat-header,
.metric-header {
  margin-bottom: 12px !important;
}

.stat-card .stat-icon,
.metric-card .metric-icon,
.stat-icon,
.metric-icon,
.overview-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
}

.stat-card .stat-value,
.metric-card .metric-value,
.stat-value,
.metric-value,
.overview-value,
.kpi-value {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #1F2937 !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
}

.stat-card .stat-label,
.metric-card .metric-label,
.stat-label,
.metric-label,
.kpi-label,
.overview-label {
  font-size: 14px !important;
  color: #6B7280 !important;
}

.stat-card .stat-trend,
.metric-card .metric-change,
.stat-trend,
.metric-change,
.kpi-trend {
  font-size: 12px !important;
}

/* ==================================================
   4. 数据卡片（面板、图表、表格、列表）
   ================================================== */
.data-card,
.chart-card,
.widget,
.table-card,
.info-card,
.panel-card,
.card-panel {
  padding: 16px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  box-sizing: border-box !important;
}

/* ==================================================
   5. 卡片 / 区域标题
   ================================================== */
.data-card .card-header h3,
.data-card .card-header h2,
.card-title,
.chart-title,
.widget-title,
.table-title,
.info-title,
.panel-title,
.detail-section h3,
.section-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1F2937 !important;
  line-height: 1.4 !important;
}

.data-card .card-header a,
.widget-title .more,
.table-title .more,
.card-actions a {
  font-size: 12px !important;
}

/* ==================================================
   6. 筛选 / 工具栏
   ================================================== */
.filter-bar,
.search-bar,
.toolbar,
.filter-row,
.query-bar {
  padding: 12px 16px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  box-sizing: border-box !important;
}

.filter-label,
.search-label,
.filter-bar label,
.toolbar label {
  font-size: 14px !important;
  color: #6B7280 !important;
}

.filter-control,
.filter-input,
.filter-select,
.search-input,
.search-select,
.toolbar input,
.toolbar select {
  height: 32px !important;
  padding: 6px 10px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

/* ==================================================
   7. 按钮
   ================================================== */
.btn:not(.login-wrapper .btn),
button:not(.el-button):not(.close):not([class*="icon"]):not(.nav-item):not(.menu-item a):not(.login-wrapper button),
.btn-primary:not(.login-wrapper .btn-primary),
.btn-secondary:not(.login-wrapper .btn-secondary),
.btn-default:not(.login-wrapper .btn-default),
.btn-search:not(.login-wrapper .btn-search),
.btn-generate:not(.login-wrapper .btn-generate),
.btn-export:not(.login-wrapper .btn-export),
.btn-confirm:not(.login-wrapper .btn-confirm) {
  height: 32px !important;
  padding: 6px 16px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

.btn-sm,
button.btn-sm,
.card-actions button,
.table-tools .btn {
  height: 28px !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
}

/* ==================================================
   8. 表格
   ================================================== */
.data-table th,
.data-table td,
table.data-table th,
table.data-table td,
.table-card table th,
.table-card table td {
  padding: 12px 16px !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
}

.data-table th,
.table-card table th {
  font-weight: 600 !important;
  color: #6B7280 !important;
}

/* ==================================================
   9. 列表项 / 辅助信息
   ================================================== */
.widget-item,
.list-item,
.alert-item,
.ranking-item,
.notice-item,
.message-item,
.stat-row {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  font-size: 14px !important;
}

.card-type,
.card-date,
.card-tag,
.alert-desc,
.stat-unit,
.more,
.status-badge,
.badge,
.tag,
.rank-num {
  font-size: 12px !important;
}

/* ==================================================
   10. 表单输入（文本类）
   ================================================== */
input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
select,
.form-control {
  height: 32px !important;
  padding: 6px 10px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

textarea,
.form-control[rows] {
  padding: 10px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

/* ==================================================
   11. 标签 / 页签
   ================================================== */
.card-tab,
.chart-tab,
.nav-tab,
.tab-item,
.filter-tab {
  padding: 6px 12px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
}

/* ==================================================
   12. 登录/注册页特殊处理
   登录页为独立入口，按钮、输入框保持较大触控尺寸，
   同时保持字号符合全站规范。
   ================================================== */
.login-wrapper .btn,
.login-wrapper button[type="submit"],
.login-wrapper button[type="button"],
.login-wrapper .send-code-btn {
  height: 46px !important;
  padding: 0 24px !important;
  font-size: 16px !important;
  border-radius: 8px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

.login-wrapper input[type="text"],
.login-wrapper input[type="password"],
.login-wrapper input[type="tel"],
.login-wrapper input[type="email"] {
  height: 44px !important;
  padding: 0 14px 0 46px !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

.login-wrapper .login-tabs button {
  height: auto !important;
  padding: 11px 20px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
}

/* 密码规则提示 */
.login-wrapper .password-hint {
  margin: 6px 2px 0;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #6B7280 !important;
}
.login-wrapper .password-hint.invalid {
  color: #DC2626 !important;
}
