/* 1. 全局基础样式：统一视觉基调 */
.root {
    -fx-background-color: #F9FAFB; /* 浅灰背景，符合政企软件简洁专业风格 */
    -fx-font-family: "Microsoft YaHei", "SimHei", sans-serif; /* 适配中文显示，避免字体错乱 */
    -fx-font-size: 14px; /* 基础字号，保证不同设备可读性 */
}

/* 2. 网格布局样式：优化功能区域间距与对齐 */
GridPane {
    -fx-hgap: 16px; /* 列间距统一，避免元素拥挤（适配多输入框/按钮布局） */
    -fx-vgap: 12px; /* 行间距统一，清晰区分“选择区”“操作区”“结果区” */
    -fx-alignment: TOP_LEFT; /* 整体左对齐，符合政企用户操作习惯 */
}

/* 3. 标签样式：明确信息层级，突出引导性 */
Label {
    -fx-text-fill: #111827; /* 主文本色，保证清晰度 */
    -fx-font-weight: 500; /* 标签文字稍粗，突出输入引导 */
    -fx-padding: 6px 0; /* 上下内边距，避免与输入组件垂直错位 */
    -fx-pref-width: 100px; /* 统一标签宽度，使输入框对齐（适配“载入目录”“载入文件夹”等标签） */
}
/* 特殊标签：功能标题强化（如“工作内容”“结果反馈”） */
Label[text="工作内容："],
Label[text="结果反馈："] {
    -fx-text-fill: #1A56DB; /* 主色调强调，明确核心功能区边界 */
    -fx-font-weight: 600;
    -fx-pref-width: 80px; /* 适配右侧指引区域宽度 */
}

/* 4. 下拉选择框（ChoiceBox）样式：适配“页面级/文件级”选择场景 */
ChoiceBox {
    -fx-background-color: #FFFFFF; /* 白色背景，保证选项清晰 */
    -fx-border-color: #E5E7EB; /* 淡灰边框，区分选择区域 */
    -fx-border-width: 1px;
    -fx-border-radius: 4px; /* 圆角设计，避免尖锐感 */
    -fx-text-fill: #111827;
    -fx-padding: 8px 12px; /* 内边距充足，选项文字不贴边 */
    -fx-pref-height: 36px; /* 与输入框/按钮高度一致，视觉对齐 */
    -fx-cursor: hand; /* 手型光标，提示可展开选择 */
}
/* 下拉框交互状态：提升操作反馈 */
ChoiceBox:hover {
    -fx-border-color: #9CA3AF; /* 悬停时边框加深，提示可交互 */
}
ChoiceBox:focused {
    -fx-border-color: #1A56DB; /* 聚焦时主色边框，明确当前操作项 */
    -fx-border-width: 2px;
    -fx-effect: dropshadow(gaussian, rgba(26, 86, 219, 0.2), 4, 0, 0, 1); /* 轻微阴影，增强层次感 */
}
/* 下拉选项面板样式：与选择框视觉统一 */
ChoiceBox .context-menu {
    -fx-background-color: #FFFFFF;
    -fx-border-color: #E5E7EB;
    -fx-border-radius: 4px;
    -fx-padding: 4px 0;
}
ChoiceBox .menu-item {
    -fx-padding: 8px 16px;
    -fx-font-size: 14px;
}
ChoiceBox .menu-item:hover {
    -fx-background-color: #EFF6FF; /* 选项悬停淡蓝背景，与主色调呼应 */
    -fx-text-fill: #1A56DB;
}

/* 5. 文本输入框样式：适配路径显示场景 */
TextField {
    -fx-background-color: #FFFFFF;
    -fx-border-color: #E5E7EB;
    -fx-border-width: 1px;
    -fx-border-radius: 4px;
    -fx-text-fill: #111827;
    -fx-padding: 8px 12px; /* 内边距充足，长路径文字不贴边 */
    -fx-pref-height: 36px; /* 统一高度，与按钮/下拉框对齐 */
    -fx-cursor: text;
}
/* 输入框交互状态：与其他组件保持一致 */
TextField:focused {
    -fx-border-color: #1A56DB;
    -fx-border-width: 2px;
    -fx-background-insets: 0;
    -fx-effect: dropshadow(gaussian, rgba(26, 86, 219, 0.2), 4, 0, 0, 1);
}
TextField:hover {
    -fx-border-color: #9CA3AF;
}
TextField:disabled {
    -fx-background-color: #F3F4F6; /* 禁用时浅灰背景，区分不可操作状态 */
    -fx-text-fill: #9CA3AF;
    -fx-border-color: #E5E7EB;
}

/* 6. 文本域样式：区分“结果展示”与“操作指引” */
TextArea {
    -fx-background-color: #FFFFFF;
    -fx-border-color: #E5E7EB;
    -fx-border-width: 1px;
    -fx-border-radius: 4px;
    -fx-text-fill: #111827;
    -fx-padding: 12px; /* 内边距充足，避免文字贴边 */
    -fx-font-size: 14px;
    -fx-wrap-text: true; /* 自动换行，适配长路径比对结果 */
    -fx-line-spacing: 6px; /* 行间距优化，提升多行文本质感 */
    -fx-pref-height: 550px; /* 适配FXML中结果区域高度，减少滚动条干扰 */
}
/* 核心结果文本域（result2TA）：强化可读性 */
#result2TA {
    -fx-background-color: #FCFCFD; /* 比普通文本域稍浅，突出结果内容 */
    -fx-pref-width: 800px; /* 适配左侧结果区域宽度，避免文字过宽 */
}
/* 操作指引文本域：区分功能属性 */
TextArea[text*="选择“页面级”"] {
    -fx-text-fill: #4B5563; /* 次要文本色，避免与核心结果冲突 */
    -fx-background-color: #F9FAFB; /* 背景与面板一致，突出“指引”属性 */
    -fx-border-color: #E5E7EB;
    -fx-pref-width: 400px; /* 适配右侧指引区域宽度 */
}
/* 文本域交互状态：与输入框保持一致 */
TextArea:focused {
    -fx-border-color: #1A56DB;
    -fx-border-width: 2px;
    -fx-effect: dropshadow(gaussian, rgba(26, 86, 219, 0.2), 4, 0, 0, 1);
}

/* 7. 按钮样式：按功能优先级区分，引导操作流程 */
Button {
    -fx-border-radius: 4px;
    -fx-background-radius: 4px;
    -fx-font-size: 14px;
    -fx-font-weight: 500;
    -fx-padding: 8px 16px;
    -fx-cursor: hand; /* 手型光标，提示可点击 */
    -fx-alignment: CENTER; /* 文字居中，保证视觉整齐 */
    -fx-pref-height: 36px; /* 统一高度，与输入框/下拉框对齐 */
}

/* 7.1 核心操作按钮：开始比对（最高优先级） */
#start2B {
    -fx-background-color: #1A56DB; /* 主色调，突出“比对”核心功能 */
    -fx-text-fill: #FFFFFF;
    -fx-pref-height: 44px; /* 稍高高度，强化视觉权重（适配多按钮布局中的焦点引导） */
    -fx-pref-width: 800px; /* 适配FXML中按钮宽度，保证操作区域完整 */
}
#start2B:hover {
    -fx-background-color: #1E40AF; /* hover时加深，提升反馈 */
}
#start2B:pressed {
    -fx-background-color: #1E3A8A; /* 点击时进一步加深，模拟按压感 */
}
#start2B:disabled {
    -fx-background-color: #94A3B8; /* 禁用时灰色，明确不可操作 */
    -fx-cursor: default;
}

/* 7.2 辅助选择按钮：选择文件/文件夹（中优先级） */
#selectLoadCatalog2B,
#selectJPGFolder2B {
    -fx-background-color: #FFFFFF; /* 白色背景，次要功能属性 */
    -fx-text-fill: #1A56DB; /* 主色文字，保持视觉关联 */
    -fx-border-color: #1A56DB;
    -fx-border-width: 1px;
}
#selectLoadCatalog2B:hover,
#selectJPGFolder2B:hover {
    -fx-background-color: #EFF6FF; /* hover时淡蓝背景，提示交互 */
}
#selectLoadCatalog2B:pressed,
#selectJPGFolder2B:pressed {
    -fx-background-color: #DBEAFE;
}

/* 7.3 生成操作按钮：生成地址文件（中优先级，功能关联） */
#generateLogicalAddress2B,
#generatePhysicalAddress2B {
    -fx-background-color: #059669; /* 成功色，传递“生成文件”的正向功能属性 */
    -fx-text-fill: #FFFFFF;
}
#generateLogicalAddress2B:hover,
#generatePhysicalAddress2B:hover {
    -fx-background-color: #047857; /* hover时加深，提升反馈 */
}
#generateLogicalAddress2B:pressed,
#generatePhysicalAddress2B:pressed {
    -fx-background-color: #065F46;
}
#generateLogicalAddress2B:disabled,
#generatePhysicalAddress2B:disabled {
    -fx-background-color: #6B7280; /* 禁用时灰色，明确不可操作 */
    -fx-cursor: default;
}

/* 8. 特殊状态样式：适配业务场景需求 */
/* 8.1 加载中状态（配合控制器动态添加，如比对过程中） */
.loading {
    -fx-background-color: #F3F4F6;
    -fx-cursor: wait; /* 等待光标，提示正在处理 */
}
/* 7.2 结果异常状态（如对比发现有问题，或者无法生成逻辑文件） */
.result-error {
    -fx-background-color: #DC2626; /* 警示色，突出路径差异结果 */
    -fx-font-weight: 600;
}
/* 8.3 比对正常状态（结果区域高亮成功） */
.result-success {
    -fx-background-color: #059669; /* 成功色，传递“无差异”反馈 */
    -fx-font-weight: 600;
}