/**
 * OA 系统统一组件样式库
 * 包含：图标按钮、状态标签、通用工具类
 *
 * 使用方法：
 * 1. 在页面中引入此CSS文件
 * 2. 图标按钮：添加 class="oa-icon-btn oa-icon-btn-{type}"
 * 3. 状态标签：添加 class="oa-status-tag oa-status-{status}"
 */

/* ============================================
   CSS 变量定义
   ============================================ */
:root {
	/* 主题色 */
	--oa-primary: #2d5cf7;
	--oa-primary-light: #5c8bff;
	--oa-primary-bg: #eef5ff;

	/* 统一边框颜色 */
	--oa-status-border: #444444;

	/* 操作按钮颜色 */
	--oa-edit-color: #2563eb;
	--oa-edit-hover: #1d4ed8;
	--oa-edit-bg: #eff6ff;
	--oa-edit-border: #bfdbfe;

	--oa-delete-color: #dc2626;
	--oa-delete-hover: #b91c1c;
	--oa-delete-bg: #fef2f2;
	--oa-delete-border: #fecaca;

	--oa-view-color: #059669;
	--oa-view-hover: #047857;
	--oa-view-bg: #ecfdf5;
	--oa-view-border: #a7f3d0;

	--oa-add-color: #2d5cf7;
	--oa-add-hover: #1d4ed8;
	--oa-add-bg: #eff6ff;
	--oa-add-border: #bfdbfe;

	--oa-refresh-color: #6b7280;
	--oa-refresh-hover: #4b5563;
	--oa-refresh-bg: #f9fafb;
	--oa-refresh-border: #d1d5db;

	--oa-print-color: #8b5cf6;
	--oa-print-hover: #7c3aed;
	--oa-print-bg: #f5f3ff;
	--oa-print-border: #ddd6fe;

	--oa-export-color: #0891b2;
	--oa-export-hover: #0e7490;
	--oa-export-bg: #ecfeff;
	--oa-export-border: #a5f3fc;

	--oa-outbound-color: #0d9488;
	--oa-outbound-hover: #0f766e;
	--oa-outbound-bg: #f0fdfa;
	--oa-outbound-border: #99f6e4;

	/* 状态标签颜色 */
	--oa-status-draft-bg: #00d9d9;
	--oa-status-draft-color: #000;
	--oa-status-draft-border: var(--oa-status-border);

	--oa-status-pending-bg: #fdf4ff;
	--oa-status-pending-color: #a21caf;
	--oa-status-pending-border: var(--oa-status-border);

	--oa-status-submitted-bg: #fef3c7;
	--oa-status-submitted-color: #92400e;
	--oa-status-submitted-border: var(--oa-status-border);

	--oa-status-approved-bg: #dcfce7;
	--oa-status-approved-color: #166534;
	--oa-status-approved-border: var(--oa-status-border);

	--oa-status-rejected-bg: #fee2e2;
	--oa-status-rejected-color: #991b1b;
	--oa-status-rejected-border: var(--oa-status-border);

	--oa-status-locked-bg: #f56c6c;
	--oa-status-locked-color: #fff;
	--oa-status-locked-border: var(--oa-status-border);

	--oa-status-paid-bg: #ffbf00;
	--oa-status-paid-color: #000;
	--oa-status-paid-border: var(--oa-status-border);

	/* 采购状态颜色 */
	--oa-procurement-not-started-bg: #c0c4cc;
	--oa-procurement-not-started-color: #fff;
	--oa-procurement-not-started-border: var(--oa-status-border);

	--oa-procurement-unpaid-bg: #9c27b0;
	--oa-procurement-unpaid-color: #fff;
	--oa-procurement-unpaid-border: var(--oa-status-border);

	/* 兼容旧名称 */
	--oa-procurement-not-purchased-bg: #c0c4cc;
	--oa-procurement-not-purchased-color: #fff;
	--oa-procurement-not-purchased-border: var(--oa-status-border);

	--oa-procurement-purchasing-bg: #9c27b0;
	--oa-procurement-purchasing-color: #fff;
	--oa-procurement-purchasing-border: var(--oa-status-border);

	--oa-procurement-paid-bg: #ffbf00;
	--oa-procurement-paid-color: #000;
	--oa-procurement-paid-border: var(--oa-status-border);

	--oa-procurement-in-transit-bg: #e6a23c;
	--oa-procurement-in-transit-color: #fff;
	--oa-procurement-in-transit-border: var(--oa-status-border);

	--oa-procurement-arrived-bg: #67c23a;
	--oa-procurement-arrived-color: #fff;
	--oa-procurement-arrived-border: var(--oa-status-border);

	--oa-procurement-warehoused-bg: #0a8a50;
	--oa-procurement-warehoused-color: #fff;
	--oa-procurement-warehoused-border: var(--oa-status-border);
	/* 库存锁定支线状态颜色 */
	--oa-procurement-locked-stock-bg: #409eff;
	--oa-procurement-locked-stock-color: #fff;
	--oa-procurement-locked-stock-border: var(--oa-status-border);
	--oa-procurement-partial-locked-bg: #e6a23c;
	--oa-procurement-partial-locked-color: #fff;
	--oa-procurement-partial-locked-border: var(--oa-status-border);
	--oa-procurement-completed-bg: #16a34a;
	--oa-procurement-completed-color: #fff;
	--oa-procurement-completed-border: var(--oa-status-border);
	/* 物流状态颜色 */
	--oa-logistics-not-shipped-bg: #909399;
	--oa-logistics-not-shipped-color: #fff;
	--oa-logistics-not-shipped-border: var(--oa-status-border);

	--oa-logistics-in-transit-bg: #e6a23c;
	--oa-logistics-in-transit-color: #fff;
	--oa-logistics-in-transit-border: var(--oa-status-border);

	--oa-logistics-arrived-bg: #67c23a;
	--oa-logistics-arrived-color: #fff;
	--oa-logistics-arrived-border: var(--oa-status-border);

	--oa-logistics-locker-station-bg: #8ecfa2;
	--oa-logistics-locker-station-color: #fff;
	--oa-logistics-locker-station-border: #8ecfa2;

	--oa-logistics-signed-by-other-bg: #8ecfa2;
	--oa-logistics-signed-by-other-color: #fff;
	--oa-logistics-signed-by-other-border: #8ecfa2;

	/* 过渡动画 */
	--oa-transition-fast: 0.2s ease;
	--oa-transition-medium: 0.28s ease;
}

/* ============================================
    图标按钮基础样式
    ============================================ */
.el-button.oa-icon-btn {
	padding: 5px;
	font-size: 14px;
	border-radius: 4px;
	transition: all var(--oa-transition-fast);
}

.el-button.oa-icon-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.el-button.oa-icon-btn:active {
	transform: translateY(0);
}

/* 圆圈按钮特殊处理：完全重置 padding 和其他样式，让 Element Plus 的 circle 样式生效 */
.el-button.oa-icon-btn.is-circle {
	padding: 0 !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	border-radius: 50% !important;
}

/* 确保圆圈按钮的图标可见 */
.el-button.oa-icon-btn.is-circle .el-icon {
	font-size: 14px;
}

/* 编辑按钮 */
.el-button.oa-icon-btn-edit,
.el-button.oa-btn-edit {
	color: var(--oa-edit-color);
	border-color: var(--oa-edit-border);
	background: var(--oa-edit-bg);
}

.el-button.oa-icon-btn-edit:hover,
.el-button.oa-icon-btn-edit:focus,
.el-button.oa-btn-edit:hover,
.el-button.oa-btn-edit:focus {
	color: #fff;
	border-color: var(--oa-edit-hover);
	background: var(--oa-edit-hover);
}

/* 删除按钮 */
.el-button.oa-icon-btn-delete,
.el-button.oa-btn-delete {
	color: var(--oa-delete-color);
	border-color: var(--oa-delete-border);
	background: var(--oa-delete-bg);
}

.el-button.oa-icon-btn-delete:hover,
.el-button.oa-icon-btn-delete:focus,
.el-button.oa-btn-delete:hover,
.el-button.oa-btn-delete:focus {
	color: #fff;
	border-color: var(--oa-delete-hover);
	background: var(--oa-delete-hover);
}

/* 查看按钮 */
.el-button.oa-icon-btn-view {
	color: var(--oa-view-color);
	border-color: var(--oa-view-border);
	background: var(--oa-view-bg);
}

.el-button.oa-icon-btn-view:hover,
.el-button.oa-icon-btn-view:focus {
	color: #fff;
	border-color: var(--oa-view-hover);
	background: var(--oa-view-hover);
}

/* 新增按钮 */
.el-button.oa-icon-btn-add {
	color: var(--oa-add-color);
	border-color: var(--oa-add-border);
	background: var(--oa-add-bg);
}

.el-button.oa-icon-btn-add:hover,
.el-button.oa-icon-btn-add:focus {
	color: #fff;
	border-color: var(--oa-add-hover);
	background: var(--oa-add-hover);
}

/* 刷新按钮 */
.el-button.oa-icon-btn-refresh {
	color: var(--oa-refresh-color);
	border-color: var(--oa-refresh-border);
	background: var(--oa-refresh-bg);
}

.el-button.oa-icon-btn-refresh:hover,
.el-button.oa-icon-btn-refresh:focus {
	color: #fff;
	border-color: var(--oa-refresh-hover);
	background: var(--oa-refresh-hover);
}

/* 打印按钮 */
.el-button.oa-icon-btn-print {
	color: var(--oa-print-color);
	border-color: var(--oa-print-border);
	background: var(--oa-print-bg);
}

.el-button.oa-icon-btn-print:hover,
.el-button.oa-icon-btn-print:focus {
	color: #fff;
	border-color: var(--oa-print-hover);
	background: var(--oa-print-hover);
}

/* 导出按钮 */
.el-button.oa-icon-btn-export {
	color: var(--oa-export-color);
	border-color: var(--oa-export-border);
	background: var(--oa-export-bg);
}

.el-button.oa-icon-btn-export:hover,
.el-button.oa-icon-btn-export:focus {
	color: #fff;
	border-color: var(--oa-export-hover);
	background: var(--oa-export-hover);
}

/* 领用出库按钮 */
.el-button.oa-icon-btn-outbound {
	color: var(--oa-outbound-color);
	border-color: var(--oa-outbound-border);
	background: var(--oa-outbound-bg);
}

.el-button.oa-icon-btn-outbound:hover,
.el-button.oa-icon-btn-outbound:focus {
	color: #fff;
	border-color: var(--oa-outbound-hover);
	background: var(--oa-outbound-hover);
}

/* 链接样式按钮（无背景） */
.el-button.oa-icon-btn.is-link,
.el-button.oa-btn-edit.is-link,
.el-button.oa-btn-delete.is-link {
	border-color: transparent;
	background: transparent;
	padding-left: 4px;
	padding-right: 4px;
}

.el-button.oa-icon-btn-edit.is-link {
	color: var(--oa-edit-color);
}
.el-button.oa-icon-btn-delete.is-link {
	color: var(--oa-delete-color);
}
.el-button.oa-icon-btn-view.is-link {
	color: var(--oa-view-color);
}

.el-button.oa-icon-btn-edit.is-link:hover,
.el-button.oa-icon-btn-edit.is-link:focus {
	color: var(--oa-edit-hover);
	background: rgba(37, 99, 235, 0.08);
}

.el-button.oa-icon-btn-delete.is-link:hover,
.el-button.oa-icon-btn-delete.is-link:focus {
	color: var(--oa-delete-hover);
	background: rgba(220, 38, 38, 0.08);
}

.el-button.oa-icon-btn-view.is-link:hover,
.el-button.oa-icon-btn-view.is-link:focus {
	color: var(--oa-view-hover);
	background: rgba(5, 150, 105, 0.08);
}

/* ============================================
   状态标签样式
   ============================================ */
/* 全局覆盖 Element Plus tag 组件的默认粗体 */
.el-tag {
	font-weight: normal !important;
}

.el-tag.oa-status-tag {
	font-weight: normal;
	border-width: 1px;
	transition: all var(--oa-transition-fast);
}

/* 通用状态标签 */
.el-tag.oa-status-draft {
	background-color: var(--oa-status-draft-bg);
	color: var(--oa-status-draft-color);
	border-color: var(--oa-status-draft-border);
	letter-spacing: 2px;
}

.el-tag.oa-status-pending {
	background-color: var(--oa-status-pending-bg);
	color: var(--oa-status-pending-color);
	border-color: var(--oa-status-pending-border);
}

.el-tag.oa-status-submitted {
	background-color: var(--oa-status-submitted-bg);
	color: var(--oa-status-submitted-color);
	border-color: var(--oa-status-submitted-border);
}

.el-tag.oa-status-approved {
	background-color: var(--oa-status-approved-bg);
	color: var(--oa-status-approved-color);
	border-color: var(--oa-status-approved-border);
}

.el-tag.oa-status-rejected {
	background-color: var(--oa-status-rejected-bg);
	color: var(--oa-status-rejected-color);
	border-color: var(--oa-status-rejected-border);
}

.el-tag.oa-status-locked {
	background-color: var(--oa-status-locked-bg);
	color: var(--oa-status-locked-color);
	border-color: var(--oa-status-locked-border);
}

.el-tag.oa-status-paid {
	background-color: var(--oa-status-paid-bg);
	color: var(--oa-status-paid-color);
	border-color: var(--oa-status-paid-border);
}

/* 采购状态标签 */
.el-tag.oa-procurement-not-started {
	background-color: var(--oa-procurement-not-started-bg);
	color: var(--oa-procurement-not-started-color);
	border-color: var(--oa-procurement-not-started-border);
}

.el-tag.oa-procurement-unpaid {
	background-color: var(--oa-procurement-unpaid-bg);
	color: var(--oa-procurement-unpaid-color);
	border-color: var(--oa-procurement-unpaid-border);
}

/* 兼容旧类名 */
.el-tag.oa-procurement-not-purchased {
	background-color: var(--oa-procurement-not-purchased-bg);
	color: var(--oa-procurement-not-purchased-color);
	border-color: var(--oa-procurement-not-purchased-border);
}

.el-tag.oa-procurement-purchasing {
	background-color: var(--oa-procurement-purchasing-bg);
	color: var(--oa-procurement-purchasing-color);
	border-color: var(--oa-procurement-purchasing-border);
}

.el-tag.oa-procurement-paid {
	background-color: var(--oa-procurement-paid-bg);
	color: var(--oa-procurement-paid-color);
	border-color: var(--oa-procurement-paid-border);
}

.el-tag.oa-procurement-in-transit {
	background-color: var(--oa-procurement-in-transit-bg);
	color: var(--oa-procurement-in-transit-color);
	border-color: var(--oa-procurement-in-transit-border);
}

.el-tag.oa-procurement-arrived {
	background-color: var(--oa-procurement-arrived-bg);
	color: var(--oa-procurement-arrived-color);
	border-color: var(--oa-procurement-arrived-border);
}

.el-tag.oa-procurement-warehoused {
	background-color: var(--oa-procurement-warehoused-bg);
	color: var(--oa-procurement-warehoused-color);
	border-color: var(--oa-procurement-warehoused-border);
}

.el-tag.oa-procurement-locked-stock {
	background-color: var(--oa-procurement-locked-stock-bg);
	color: var(--oa-procurement-locked-stock-color);
	border-color: var(--oa-procurement-locked-stock-border);
}

.el-tag.oa-procurement-partial-locked {
	background-color: var(--oa-procurement-partial-locked-bg);
	color: var(--oa-procurement-partial-locked-color);
	border-color: var(--oa-procurement-partial-locked-border);
}

.el-tag.oa-procurement-completed {
	background-color: var(--oa-procurement-completed-bg);
	color: var(--oa-procurement-completed-color);
	border-color: var(--oa-procurement-completed-border);
}

/* 物流状态标签 */
.el-tag.oa-logistics-not-shipped {
	background-color: var(--oa-logistics-not-shipped-bg);
	color: var(--oa-logistics-not-shipped-color);
	border-color: var(--oa-logistics-not-shipped-border);
}

.el-tag.oa-logistics-in-transit {
	background-color: var(--oa-logistics-in-transit-bg);
	color: var(--oa-logistics-in-transit-color);
	border-color: var(--oa-logistics-in-transit-border);
}

.el-tag.oa-logistics-arrived {
	background-color: var(--oa-logistics-arrived-bg);
	color: var(--oa-logistics-arrived-color);
	border-color: var(--oa-logistics-arrived-border);
}

.el-tag.oa-logistics-locker-station {
	background-color: var(--oa-logistics-locker-station-bg);
	color: var(--oa-logistics-locker-station-color);
	border-color: var(--oa-logistics-locker-station-border);
}

.el-tag.oa-logistics-signed-by-other {
	background-color: var(--oa-logistics-signed-by-other-bg);
	color: var(--oa-logistics-signed-by-other-color);
	border-color: var(--oa-logistics-signed-by-other-border);
}

/* ============================================
   状态标签内联样式辅助类
   ============================================ */
.oa-style-draft {
	background-color: var(--oa-status-draft-bg) !important;
	color: var(--oa-status-draft-color) !important;
	border-color: var(--oa-status-draft-border) !important;
}

.oa-style-pending {
	background-color: var(--oa-status-pending-bg) !important;
	color: var(--oa-status-pending-color) !important;
	border-color: var(--oa-status-pending-border) !important;
}

.oa-style-submitted {
	background-color: var(--oa-status-submitted-bg) !important;
	color: var(--oa-status-submitted-color) !important;
	border-color: var(--oa-status-submitted-border) !important;
}

.oa-style-approved {
	background-color: var(--oa-status-approved-bg) !important;
	color: var(--oa-status-approved-color) !important;
	border-color: var(--oa-status-approved-border) !important;
}

.oa-style-rejected {
	background-color: var(--oa-status-rejected-bg) !important;
	color: var(--oa-status-rejected-color) !important;
	border-color: var(--oa-status-rejected-border) !important;
}

.oa-style-locked {
	background-color: var(--oa-status-locked-bg) !important;
	color: var(--oa-status-locked-color) !important;
	border-color: var(--oa-status-locked-border) !important;
}

.oa-style-paid {
	background-color: var(--oa-status-paid-bg) !important;
	color: var(--oa-status-paid-color) !important;
	border-color: var(--oa-status-paid-border) !important;
}

/* ============================================
   通用工具类
   ============================================ */
[v-cloak] {
	display: none;
}

/* 文本截断 */
.oa-text-ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Flex 布局工具 */
.oa-flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

.oa-flex-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.oa-flex-start {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

/* 间距工具 */
.oa-gap-sm {
	gap: 8px;
}
.oa-gap-md {
	gap: 12px;
}
.oa-gap-lg {
	gap: 16px;
}

/* ============================================
   动画效果
   ============================================ */
@keyframes oa-page-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

body {
	animation: oa-page-fade-in 0.35s ease-out;
}

/* 卡片悬浮效果 */
.el-card,
.el-dialog,
.el-table,
.el-dropdown-menu,
.el-popover {
	transition:
		box-shadow var(--oa-transition-medium),
		transform var(--oa-transition-medium);
}

.el-card:hover,
.el-dialog:hover,
.el-dropdown-menu:hover,
.el-popover:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

/* 输入框和按钮过渡 */
.el-input__wrapper,
.el-select__wrapper,
.el-textarea__inner,
.el-button {
	transition:
		box-shadow var(--oa-transition-fast),
		transform var(--oa-transition-fast),
		border-color var(--oa-transition-fast);
}

.el-button:active {
	transform: translateY(1px) scale(0.99);
}

/* ============================================
   打印预览样式
   ============================================ */
/* 打印预览的模拟纸张外框 */
.oa-print-paper {
    width: 210mm;           /* A4 标准宽度 */
    min-height: 297mm;      /* A4 标准高度 */
    margin: 20px auto;      /* 居中显示 */
    padding: 10mm;          /* 默认页边距 */
    background: white;      /* 纸张颜色 */
    box-shadow: 0 0 10px rgba(0,0,0,0.2); /* 增加阴影增强"纸张感" */
    box-sizing: border-box; /* 确保 padding 不撑大 210mm 的宽度 */
    position: relative;
    overflow: hidden;       /* 溢出隐藏 */
}

/* 确保内部表格撑满"纸张"宽度 */
.oa-print-paper table {
    width: 100% !important;
    table-layout: fixed;    /* 强制列宽按比例分配 */
    border-collapse: collapse;
}

/* 打印表格单元格样式 */
.oa-print-paper td,
.oa-print-paper th {
    word-wrap: break-word;
    word-break: break-all;
    overflow: hidden;
    border: 1px solid #000000; /* 打印通常使用纯黑边框 */
    padding: 6px 4px;
}
/* 打印表格单元格样式 */
.oa-print-paper td,
.oa-print-paper th {
    word-wrap: break-word;
    word-break: break-all;
    overflow: hidden;
}
/* 打印预览容器 - 背景区域 */
.oa-print-preview-container {
    background: #e4e7ed;
    padding: 30px;
    max-height: 80vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/* 打印对话框 */
.oa-print-dialog {
    max-width: 95vw;
}

/* A3 纸张 */
.oa-print-paper.oa-paper-a3 {
    width: 297mm;
    min-height: 420mm;
}

/* 横向 */
.oa-print-paper.oa-paper-landscape {
    width: 297mm;
    min-height: 210mm;
}

.oa-print-paper.oa-paper-a3.oa-paper-landscape {
    width: 420mm;
    min-height: 297mm;
}

/* ============================================
   打印媒体查询
   ============================================ */
@media print {
    /* 隐藏不需要的 UI 元素 */
    .el-dialog__header,
    .el-dialog__footer,
    .no-print,
    .toolbar {
        display: none !important;
    }
    
    /* 重置纸张容器 */
    .oa-print-paper {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        min-height: auto !important;
    }
    
    /* 重置预览容器 */
    .oa-print-preview-container {
        background: white !important;
        padding: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    
    /* 确保表格打印正确 */
    .oa-print-paper table {
        page-break-inside: avoid;
    }
    
    /* 分页控制 */
    .oa-print-paper {
        page-break-after: always;
        page-break-inside: avoid;
    }
    
    .oa-print-paper:last-child {
        page-break-after: auto;
    }
}

/* ===== 版本号与更新历史 ===== */
.sidebar-version {
    padding: 4px 12px; text-align: center; flex-shrink: 0;
    border-top: 1px solid var(--sidebar-border, #dbe8ff);
    background: var(--sidebar-bg, transparent);
}
.sidebar-version-badge {
    display: inline-block; font-size: 10px;
    color: var(--menu-text, #909399);
    cursor: pointer; padding: 2px 8px; border-radius: 8px;
    background: rgba(0,0,0,0.04); transition: all 0.2s; user-select: none;
    border: 1px solid rgba(0,0,0,0.06);
}
.sidebar-version-badge:hover { background: rgba(0,0,0,0.08); }
.layout-sidebar.is-collapsed .sidebar-version-badge { font-size: 9px; padding: 1px 4px; }
.subproject-group-header-count { font-size: 10px; color: #c0c4cc; font-weight: 400; }

.version-badge {
    position: fixed; bottom: 16px; right: 20px; font-size: 12px;
    color: rgba(255,255,255,0.8); cursor: pointer; z-index: 10;
    padding: 4px 12px; background: rgba(0,0,0,0.25); border-radius: 12px;
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    transition: all 0.3s; user-select: none;
}
.version-badge:hover { background: rgba(0,0,0,0.45); color: #fff; transform: translateY(-2px); }

.changelog-dialog .el-dialog__body { max-height: 60vh; overflow-y: auto; }
.changelog-version-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid #ebeef5; }
.changelog-version-tag { font-size: 16px; font-weight: 700; color: #2d5cf7; }
.changelog-version-date { font-size: 12px; color: #909399; }
.changelog-section { margin: 10px 0; }
.changelog-section-title { font-size: 13px; font-weight: 600; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.changelog-item { padding: 4px 0 4px 20px; font-size: 13px; color: #606266; line-height: 1.6; }
.changelog-item-desc { font-size: 12px; color: #909399; margin-top: 2px; }
