@CHARSET "UTF-8";
/**
 * 苹果风格（Apple HIG）主题皮肤
 *
 * 作用域：全部规则都挂在 body.dk-apple-page 之下，只有在 <body> 上加了
 *        dk-apple-page 类的页面才会生效，其它 300+ 存量页面完全不受影响。
 *        （Element UI 的下拉、弹窗、气泡都会被 append 到 body，用 body 类做
 *          作用域可以一并覆盖这些浮层，无需给每个组件挂 popper-class）
 *
 * 启用方式：在页面模板顶部 include 主题模块入口（会自动给 body 加类并注册公共组件）
 *        <{include file="common/views/components/ApTheme.vue"}>
 *
 * 模块组成：
 *        public/css/apple-theme.css                                  —— 设计变量 + 布局工具类 + 组件皮肤（本文件）
 *        common/views/components/ApTheme.vue                         —— 模块入口：启用主题、提供 ApUtil 工具
 *        common/views/components/ApFilterPanel.vue                   —— <ap-filter-panel> 筛选面板组件
 *
 * 设计说明见 doc/apple_ui_theme_plan.md，校验脚本 test/check_apple_theme_ui.php
 */

/* ===== 设计变量（Design Token） ===== */
body.dk-apple-page{
	--ap-bg:            #f5f5f7;  /* 页面底色 */
	--ap-surface:       #ffffff;  /* 卡片面 */
	--ap-surface-sunken: #f5f5f7; /* 下沉面：表头、分段控件槽 */
	--ap-line:          rgba(0,0,0,.09);   /* 分隔线 */
	--ap-line-strong:   rgba(0,0,0,.16);   /* 控件描边 */
	--ap-text:          #1d1d1f;  /* 主文字 */
	--ap-text-2:        #6e6e73;  /* 次级文字 */
	--ap-text-3:        #aeaeb2;  /* 只用于占位、禁用、装饰性图标；白底对比度约 2.2:1，不能承载需要阅读的信息 */
	--ap-blue:          #0071e3;  /* 主色 */
	--ap-blue-hover:    #0077ed;
	--ap-blue-soft:     rgba(0,113,227,.08);
	/* 填充色：只用于底色、描边、图形（开关、折线、状态底块），不用作白底上的文字 */
	--ap-red:           #ff3b30;
	--ap-orange:        #ff9f0a;
	--ap-green:         #30d158;
	/* 文字语义色：白底对比度 ≥ 4.5:1（WCAG AA），状态文字一律用这一组；-bg 为同色系浅底 */
	--ap-ok:            #1f7f37;  /* 白底 5.1:1，页面底 4.7:1 */
	--ap-ok-bg:         rgba(52,199,89,.12);
	--ap-warn:          #a85100;
	--ap-warn-bg:       rgba(255,159,10,.14);
	--ap-err:           #d70015;
	--ap-err-bg:        rgba(255,59,48,.10);
	--ap-info:          #0066cc;
	--ap-info-bg:       rgba(0,113,227,.09);
	/* 强调色的角色名（与 --ap-blue 同值），新代码优先用角色名 */
	--ap-accent:        var(--ap-blue);
	--ap-accent-hover:  var(--ap-blue-hover);
	--ap-accent-soft:   var(--ap-blue-soft);
	--ap-on-accent:     #ffffff;  /* 强调色、语义填充色之上的文字 */
	/* 交互与层级 */
	--ap-raised:        #ffffff;  /* 浮层面：下拉、弹窗、消息 */
	--ap-hover:         rgba(0,0,0,.04);   /* 行、菜单项悬停 */
	--ap-hover-subtle:  rgba(0,0,0,.02);   /* 卡片内的浅底块 */
	--ap-pressed:       #ebebed;  /* 灰色按钮悬停/按下 */
	--ap-row-hover:     rgba(0,113,227,.05);
	--ap-row-stripe:    #fbfbfd;
	--ap-ctl-line-hover: rgba(0,0,0,.28);  /* 输入框悬停描边 */
	--ap-focus-ring:    0 0 0 3px rgba(0,113,227,.18);
	--ap-tag-close-bg:  rgba(0,113,227,.25);
	--ap-tag-neutral-bg: rgba(0,0,0,.06);
	--ap-tooltip-bg:    rgba(29,29,31,.92);
	--ap-glass:         rgba(255,255,255,.82);  /* 毛玻璃底（分页条） */
	--ap-mask:          rgba(255,255,255,.72);  /* 加载遮罩 */
	--ap-scrollbar:     rgba(0,0,0,.22);
	--ap-scrollbar-hover: rgba(0,0,0,.36);
	/* 登录页左侧品牌面板：石墨黑底 + 右下角一团强调色（与主按钮同一个 Apple 蓝）的柔光。
	   不再用 zisage-banner.jpg：那张图偏青，和强调色放在一起发绿（2026-09-30 用户反馈） */
	--ap-brand-panel:   radial-gradient(90% 70% at 100% 100%, rgba(0,113,227,.55) 0%, rgba(0,113,227,0) 70%),
	                    radial-gradient(70% 50% at 0% 0%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 70%),
	                    #1d1d1f;
	--ap-on-image:      #ffffff;                /* 品牌面板上的主文字 */
	--ap-on-image-2:    rgba(255,255,255,.72);  /* 品牌面板上的次级文字 */
	--ap-on-image-line: rgba(255,255,255,.14);  /* 品牌面板上的分隔线 */
	--ap-on-image-fill: rgba(255,255,255,.08);  /* 品牌面板上的胶囊标签底 */
	--ap-on-image-ring: rgba(255,255,255,.18);  /* 品牌面板右下角装饰圆环 */
	--ap-on-image-ring-1: rgba(255,255,255,.045);
	--ap-on-image-ring-2: rgba(255,255,255,.025);
	--ap-nav-bg:        rgba(255,255,255,.86);  /* 主框架顶栏半透明底 */
	/* 圆角两档：8 控件 / 12 卡片与浮层；--ap-radius-lg 保留为别名，弹窗随之从 14 收到 12 */
	--ap-radius-sm:     8px;      /* 控件 */
	--ap-radius-md:     12px;     /* 卡片 */
	--ap-radius-lg:     12px;     /* 弹窗（与卡片同档） */
	/* 阴影：卡片用 0.5px 发丝环 + 极浅投影，只有浮层才用弥散阴影 */
	--ap-shadow-card:   0 0 0 .5px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.04);
	--ap-shadow-pop:    0 0 0 .5px rgba(0,0,0,.08), 0 8px 28px rgba(0,0,0,.12);
	--ap-shadow-raise:  0 1px 3px rgba(0,0,0,.10);
	--ap-shadow-fixed:  0 0 12px rgba(0,0,0,.06);  /* 表格固定列 */
	/* 字号阶梯 12 / 13 / 15 / 17 / 22 / 28：层级靠字重和明度拉开，不再额外加字号 */
	--ap-fs-12: 12px; --ap-fs-13: 13px; --ap-fs-15: 15px; --ap-fs-17: 17px; --ap-fs-22: 22px; --ap-fs-28: 28px;
	/* 8pt 间距网格（4 仅用于图标与文字的微间距） */
	--ap-s-1: 4px; --ap-s-2: 8px; --ap-s-3: 12px; --ap-s-4: 16px; --ap-s-5: 24px; --ap-s-6: 32px; --ap-s-7: 48px;
	/* 动效：微交互 0.16s，面板级 0.3s，统一缓动曲线 */
	--ap-ease:          cubic-bezier(.2,.8,.2,1);
	--ap-t-micro:       .16s;
	--ap-t-panel:       .3s;
	--ap-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro SC",
	           "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif;
	--ap-ctl-h:         32px;     /* 统一控件高度 */

	background-color: var(--ap-bg);
	font-family: var(--ap-font);
	color: var(--ap-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* 浮层同样需要拿到变量与字体 */
body.dk-apple-page .el-popper,
body.dk-apple-page .el-dialog__wrapper,
body.dk-apple-page .el-message,
body.dk-apple-page .el-message-box__wrapper{
	font-family: var(--ap-font);
}

/* ===== 容器与卡片 ===== */
body.dk-apple-page #module-container{
	padding: 0 12px 56px;
}
body.dk-apple-page #search-module{
	background-color: var(--ap-surface);
	border: none;
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
	padding: 14px 18px 10px;
	margin: 12px 0;
	position: relative;
}
body.dk-apple-page #data_box,
body.dk-apple-page #table-module,
body.dk-apple-page .ap-panel{
	background-color: var(--ap-surface);
	border: none;
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
	margin-top: 12px;
	padding: 4px 0 8px;
	overflow: hidden;
}
/* 卡片嵌套时（如 #data_box > #table-module）内层退化为透明容器，避免双重卡片 */
body.dk-apple-page #data_box #table-module,
body.dk-apple-page .ap-panel #table-module{
	background-color: transparent;
	box-shadow: none;
	border-radius: 0;
	margin-top: 0;
	padding: 0;
	overflow: visible;
}
/*
 * #data_box 卡片里直接放分页条（如智璞经营报告、订单利润明细）时：
 * 1. overflow:hidden 会让卡片自身成为滚动容器，吸底分页条改为相对卡片定位，被卡片下内边距上推 8px 压住表格最后一行；
 *    改用 overflow:clip —— 同样裁出圆角，但不成为滚动容器，分页条照常按窗口吸底，滚到底时回到表格下方。
 * 2. page.css 的「#table-module > .el-table { top:5px }」把表格整体下移 5px，底部同样压进分页条，卡片内取消该偏移。
 */
body.dk-apple-page #data_box{
	overflow: clip;
}
body.dk-apple-page #data_box #table-module > .el-table{
	top: 0;
}
/* 通用卡片标题 */
body.dk-apple-page .ap-panel-title{
	font-size: 15px;
	font-weight: 600;
	color: var(--ap-text);
	letter-spacing: .2px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--ap-line);
	display: flex;
	align-items: center;
	gap: 10px;
}
body.dk-apple-page .ap-panel-title .ap-panel-title-spacer{ flex: 1 1 auto; }
/* 筛选面板组件容器本身不画卡片，卡片由外层 #search-module 提供 */
body.dk-apple-page .ap-filter-panel{ background: transparent; }

/* 兼容存量计划/产品页面：保留字段与查询逻辑，解除旧栅格对筛选区的约束。 */
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form,
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form > .el-row{
	display: contents;
}
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form > .el-row > .el-col{
	width: auto !important;
	float: none;
	padding-left: 8px;
	padding-right: 8px;
}
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form .dk-input_300,
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form .dk-input_250,
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form .dk-input_180,
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form .dk-input_120,
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form .dk-input_100{
	width: 100% !important;
	max-width: none;
}
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-form .el-form-item{
	margin-bottom: 12px;
}
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-grid{
	max-height: 248px;
	overflow: hidden;
	transition: max-height var(--ap-t-panel) var(--ap-ease);
}
body.dk-apple-page .ap-filter-panel .ap-legacy-filter-grid.is-open{
	max-height: none;
	overflow: visible;
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-summary{
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 18px 0 12px;
	color: var(--ap-text-2);
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-summary strong{
	font-size: 28px;
	color: var(--ap-blue);
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-preview-list{
	padding: 12px 14px;
	border: 1px solid var(--ap-line);
	border-radius: 10px;
	background: var(--ap-hover-subtle);
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-preview-item{
	display: flex;
	gap: 12px;
	line-height: 28px;
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-preview-label{
	min-width: 110px;
	color: var(--ap-text-2);
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-preview-value{
	color: var(--ap-text);
	word-break: break-all;
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-result-summary{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-result-total{
	margin-right: 6px;
	font-weight: 600;
	color: var(--ap-text);
}
body.dk-apple-page .dk-batch-action-dialog .dk-batch-error-table{
	margin-top: 14px;
}

/* 大型编辑抽屉：固定页头与操作区，中间内容独立滚动。 */
body.dk-apple-page .ap-form-drawer{
    background:var(--ap-bg);
    box-shadow:var(--ap-shadow-pop);
}
body.dk-apple-page .ap-form-drawer .el-drawer__header{
    flex:0 0 auto;
    margin:0;
    padding:18px 24px;
    color:var(--ap-text);
    background:var(--ap-surface);
    border-bottom:1px solid var(--ap-line);
    font-weight:600;
}
body.dk-apple-page .ap-form-drawer .el-drawer__body{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
}
body.dk-apple-page .ap-form-drawer .ap-drawer-body,
body.dk-apple-page .product-edit-drawer > .el-drawer__body > div:first-child{
    flex:1 1 auto;
    min-height:0;
    padding:18px 24px 84px;
    overflow:auto;
}
body.dk-apple-page .ap-form-drawer .ap-drawer-tabs > .el-tabs__header{
    position:sticky;
    top:0;
    z-index:4;
    margin-bottom:18px;
    background:var(--ap-surface);
}
body.dk-apple-page .ap-form-drawer .ap-drawer-footer{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    z-index:5;
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding:14px 24px;
    background:var(--ap-surface);
    border-top:1px solid var(--ap-line);
    box-shadow:var(--ap-shadow-raise);
}
body.dk-apple-page .ap-form-drawer .ap-selection-summary{
    max-height:240px;
    padding:12px 14px;
    overflow:auto;
    color:var(--ap-text-2);
    background:var(--ap-surface-sunken);
    border:1px solid var(--ap-line);
    border-radius:var(--ap-radius-md);
    line-height:1.7;
    word-break:break-word;
}
body.dk-apple-page .sale-plan-batch-drawer .el-select,
body.dk-apple-page .sale-plan-batch-drawer .el-input{
    width:100%;
}
@media (max-width:768px){
    body.dk-apple-page .product-edit-drawer,
    body.dk-apple-page .sale-plan-batch-drawer{
        width:100% !important;
    }
    body.dk-apple-page .ap-form-drawer .ap-drawer-body,
    body.dk-apple-page .product-edit-drawer > .el-drawer__body > div:first-child{
        padding-right:12px;
        padding-left:12px;
    }
}

/* ===== 自适应筛选栅格：彻底替代固定 span，杜绝 label 被挤出裁切 ===== */
body.dk-apple-page .ap-grid{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
	gap: 2px 20px;
	align-items: start;
}
/* 需要更宽的格子（如品类=等级+多选两个控件） */
body.dk-apple-page .ap-grid .ap-col-wide{
	grid-column: span 1;
}
@media (min-width: 1500px){
	body.dk-apple-page .ap-grid .ap-col-wide{ grid-column: span 1; }
}
/* 真正横跨两格的筛选项（如“编码类型 + 匹配方式 + 输入内容”三控件组合），窄屏自动退回一格 */
body.dk-apple-page .ap-grid .ap-col-span2{
	grid-column: span 1;
}
@media (min-width: 1200px){
	body.dk-apple-page .ap-grid .ap-col-span2{ grid-column: span 2; }
}
/* 退回一格时，跨列项里的主输入框换行独占一行，避免被两个定宽下拉挤成窄条 */
@media (max-width: 1199px){
	body.dk-apple-page .ap-grid .ap-col-span2 .ap-pair{ flex-wrap: wrap; }
	body.dk-apple-page .ap-grid .ap-col-span2 .ap-pair .ap-pair-flex{ flex: 1 1 100%; }
}
/* 栅格内表单项：label 定宽左对齐，控件占满剩余宽度 —— 永不溢出 */
body.dk-apple-page .ap-grid .el-form-item{
	display: flex;
	align-items: flex-start;
	margin-bottom: 10px;
}
body.dk-apple-page .ap-grid .el-form-item__label{
	width: 104px;
	flex: 0 0 104px;
	text-align: right;
	padding-right: 10px;
	line-height: var(--ap-ctl-h);
	color: var(--ap-text-2);
	font-weight: 500;
	font-size: 13px;
	white-space: normal;      /* 长标签换行而不是被裁掉 */
	word-break: break-all;
}
body.dk-apple-page .ap-grid .el-form-item__content{
	flex: 1 1 auto;
	min-width: 0;             /* 关键：允许收缩，避免撑破格子 */
	margin-left: 0 !important;
	line-height: var(--ap-ctl-h);
}
/* 栅格内所有输入控件一律满宽，忽略模板里写死的 dk-input_300 等固定宽度 */
body.dk-apple-page .ap-grid .el-select,
body.dk-apple-page .ap-grid .el-input,
body.dk-apple-page .ap-grid .el-cascader,
body.dk-apple-page .ap-grid .el-date-editor{
	width: 100% !important;
}
/* 同一格内并排的两个控件（品类等级 + 品类） */
body.dk-apple-page .ap-grid .ap-pair{
	display: flex;
	gap: 8px;
}
body.dk-apple-page .ap-grid .ap-pair .ap-pair-fixed{
	width: 116px !important;
	flex: 0 0 116px;
}
body.dk-apple-page .ap-grid .ap-pair .ap-pair-flex{
	flex: 1 1 auto;
	min-width: 0;
}

/* ===== 维度栏（原绝对定位浮层，改为独立一行） ===== */
body.dk-apple-page .ap-dimbar{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 2px 0 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--ap-line);
}
body.dk-apple-page .ap-dimbar .ap-dimbar-label{
	font-size: 13px;
	font-weight: 600;
	color: var(--ap-text);
	letter-spacing: .2px;
}
body.dk-apple-page .ap-dimbar .ap-dimbar-spacer{ flex: 1 1 auto; }

/* ===== iOS 分段控件（天/周/月） ===== */
body.dk-apple-page .el-radio-group.ap-segment{
	display: inline-flex;
	background: var(--ap-surface-sunken);
	border-radius: var(--ap-radius-sm);
	padding: 2px;
}
body.dk-apple-page .ap-segment .el-radio-button__inner{
	border: none !important;
	background: transparent;
	box-shadow: none !important;
	border-radius: 6px !important;
	color: var(--ap-text-2);
	font-weight: 500;
	padding: 5px 16px;
	line-height: 1.2;
	transition: background var(--ap-t-micro) var(--ap-ease), color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page .ap-segment .el-radio-button__orig-radio:checked + .el-radio-button__inner{
	background: var(--ap-surface);
	color: var(--ap-text);
	box-shadow: var(--ap-shadow-raise) !important;
}

/* ===== 表单控件 ===== */
body.dk-apple-page .el-input__inner,
body.dk-apple-page .el-textarea__inner{
	height: var(--ap-ctl-h);
	line-height: var(--ap-ctl-h);
	border-radius: var(--ap-radius-sm);
	border-color: var(--ap-line-strong);
	color: var(--ap-text);
	font-size: 13px;
	transition: border-color var(--ap-t-micro) var(--ap-ease), box-shadow var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page .el-input__inner::placeholder{ color: var(--ap-text-3); }
body.dk-apple-page .el-input__inner:hover{ border-color: var(--ap-ctl-line-hover); }
body.dk-apple-page .el-input__inner:focus,
body.dk-apple-page .el-textarea__inner:focus,
body.dk-apple-page .el-select .el-input.is-focus .el-input__inner{
	border-color: var(--ap-blue);
	box-shadow: var(--ap-focus-ring);
	outline: none;
}
body.dk-apple-page .el-input__icon{ line-height: var(--ap-ctl-h); }
/* 多选 select 的 tag */
body.dk-apple-page .el-select .el-tag{
	background-color: var(--ap-blue-soft);
	border-color: transparent;
	color: var(--ap-blue);
	border-radius: 6px;
	height: 22px;
	line-height: 20px;
}
body.dk-apple-page .el-select .el-tag__close.el-icon-close{
	background-color: var(--ap-tag-close-bg);
	color: var(--ap-on-accent);
}
body.dk-apple-page .el-select__tags .el-tag--mini{ margin: 2px 0 2px 4px; }
/* 日期区间选择器 */
body.dk-apple-page .el-date-editor--daterange.el-input__inner{
	height: var(--ap-ctl-h);
	border-radius: var(--ap-radius-sm);
	border-color: var(--ap-line-strong);
	padding: 0 10px;
}
body.dk-apple-page .el-date-editor .el-range-input{ color: var(--ap-text); font-size: 13px; }
body.dk-apple-page .el-date-editor .el-range-separator{ line-height: 26px; color: var(--ap-text-3); }

/* 单选/复选（带边框样式做成 Apple 胶囊） */
body.dk-apple-page .el-radio.is-bordered,
body.dk-apple-page .el-checkbox.is-bordered{
	height: var(--ap-ctl-h);
	line-height: 1;
	display: inline-flex;
	align-items: center;
	padding: 0 12px;
	border-radius: var(--ap-radius-sm);
	border-color: var(--ap-line-strong);
	margin-right: 8px;
	transition: border-color var(--ap-t-micro) var(--ap-ease), background var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page .el-radio.is-bordered.is-checked,
body.dk-apple-page .el-checkbox.is-bordered.is-checked{
	border-color: var(--ap-blue);
	background-color: var(--ap-blue-soft);
}
body.dk-apple-page .el-radio__input.is-checked .el-radio__inner,
body.dk-apple-page .el-checkbox__input.is-checked .el-checkbox__inner{
	background-color: var(--ap-blue);
	border-color: var(--ap-blue);
}
body.dk-apple-page .el-radio__input.is-checked + .el-radio__label,
body.dk-apple-page .el-checkbox__input.is-checked + .el-checkbox__label{
	color: var(--ap-blue);
}
body.dk-apple-page .el-radio__label,
body.dk-apple-page .el-checkbox__label{ font-size: 13px; }

/* ===== 按钮 ===== */
body.dk-apple-page .el-button{
	border-radius: var(--ap-radius-sm);
	font-weight: 500;
	font-size: 13px;
	transition: background-color var(--ap-t-micro) var(--ap-ease), border-color var(--ap-t-micro) var(--ap-ease), transform .06s ease;
}
body.dk-apple-page .el-button:active{ transform: scale(.98); }
body.dk-apple-page .el-button--mini{ padding: 8px 14px; }
body.dk-apple-page .el-button--primary{
	background-color: var(--ap-blue);
	border-color: var(--ap-blue);
	color: var(--ap-surface);
}
body.dk-apple-page .el-button--primary:hover,
body.dk-apple-page .el-button--primary:focus{
	background-color: var(--ap-blue-hover);
	border-color: var(--ap-blue-hover);
	color: var(--ap-surface);
}
body.dk-apple-page .el-button--primary.is-plain{
	background-color: var(--ap-blue-soft);
	border-color: var(--ap-blue);
	color: var(--ap-blue);
}
body.dk-apple-page .el-button--primary.is-plain:hover,
body.dk-apple-page .el-button--primary.is-plain:focus{
	background-color: var(--ap-blue-hover);
	border-color: var(--ap-blue-hover);
	color: var(--ap-surface);
}
body.dk-apple-page .el-button--primary.is-disabled,
body.dk-apple-page .el-button--primary.is-disabled:hover,
body.dk-apple-page .el-button--primary.is-disabled:focus{
	background-color: var(--ap-text-3);
	border-color: var(--ap-text-3);
	color: var(--ap-surface);
}
body.dk-apple-page .el-button--primary.is-plain.is-disabled,
body.dk-apple-page .el-button--primary.is-plain.is-disabled:hover,
body.dk-apple-page .el-button--primary.is-plain.is-disabled:focus{
	background-color: var(--ap-surface-sunken);
	border-color: var(--ap-line-strong);
	color: var(--ap-text-3);
}
body.dk-apple-page .el-button--info{
	background-color: var(--ap-surface-sunken);
	border-color: transparent;
	color: var(--ap-text);
}
body.dk-apple-page .el-button--info:hover,
body.dk-apple-page .el-button--info:focus{
	background-color: var(--ap-pressed);
	border-color: transparent;
	color: var(--ap-text);
}
body.dk-apple-page .el-button--text{ color: var(--ap-blue); }
/* 文字按钮式的“更多筛选”开关 */
body.dk-apple-page .ap-toggle-more{
	color: var(--ap-blue);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
body.dk-apple-page .ap-toggle-more i{ transition: transform var(--ap-t-micro) var(--ap-ease); }
body.dk-apple-page .ap-toggle-more.is-open i{ transform: rotate(180deg); }

/* ===== 操作条 ===== */
body.dk-apple-page .ap-actionbar{
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 10px;
	margin-top: 4px;
	border-top: 1px solid var(--ap-line);
}
body.dk-apple-page .ap-actionbar .ap-actionbar-spacer{ flex: 1 1 auto; }
body.dk-apple-page .ap-actionbar .el-icon-question{
	font-size: 17px;
	color: var(--ap-text-3);
	cursor: pointer;
	transition: color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page .ap-actionbar .el-icon-question:hover{ color: var(--ap-blue); }
/* 常用搜索组件在操作条里就地显示，不再绝对定位到右上角 */
body.dk-apple-page .ap-actionbar .searchFormUploadBox{
	position: static;
	width: auto;
}

/* ===== 表格 ===== */
body.dk-apple-page .el-table{
	color: var(--ap-text);
	font-size: 13px;
	border-color: var(--ap-line);
}
body.dk-apple-page .el-table th{
	background-color: var(--ap-surface-sunken) !important;
	color: var(--ap-text-2);
	font-weight: 600;
	border-right: 1px solid var(--ap-line);
	border-bottom: 1px solid var(--ap-line);
}
body.dk-apple-page .el-table thead.is-group th{
	background-color: var(--ap-surface-sunken) !important;
	border-right: 1px solid var(--ap-line);
}
body.dk-apple-page .el-table thead{ color: var(--ap-text-2); }
body.dk-apple-page .el-table td{ border-bottom: 1px solid var(--ap-line); }
body.dk-apple-page .el-table--border td,
body.dk-apple-page .el-table--border th{ border-right: 1px solid var(--ap-line); }
body.dk-apple-page .el-table--border{ border-color: var(--ap-line); }
body.dk-apple-page .el-table--striped .el-table__body tr.el-table__row--striped td{
	background-color: var(--ap-row-stripe);
}
body.dk-apple-page .el-table__body tr:hover>td,
body.dk-apple-page .el-table__body tr.hover-row>td{
	background-color: var(--ap-row-hover) !important;
}
body.dk-apple-page .el-table__body tr.current-row>td{
	background-color: var(--ap-blue-soft) !important;
}
/* 数字列等宽对齐，金额读起来才整齐 */
body.dk-apple-page .el-table .cell{
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
}
body.dk-apple-page .el-table__empty-text{ color: var(--ap-text-2); }
/* 表格标题条 */
body.dk-apple-page #data_box #data_title{
	font-size: 15px;
	font-weight: 600;
	color: var(--ap-text);
	letter-spacing: .2px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--ap-line);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

/* ===== 提示条 ===== */
body.dk-apple-page .el-alert{
	border-radius: var(--ap-radius-sm);
	padding: 8px 12px;
	margin: 12px 16px 4px;
	width: auto;
}
body.dk-apple-page .el-alert--error.is-dark{
	background-color: var(--ap-warn-bg);
	color: var(--ap-warn);
}
body.dk-apple-page .el-alert--error.is-dark .el-alert__closebtn{ color: var(--ap-warn); }
body.dk-apple-page .el-alert__title{ font-size: 13px; line-height: 1.5; }

/* ===== 浮层：下拉、气泡、弹窗 ===== */
body.dk-apple-page .el-select-dropdown,
body.dk-apple-page .el-cascader__dropdown,
body.dk-apple-page .el-picker-panel,
body.dk-apple-page .el-dropdown-menu{
	border-radius: var(--ap-radius-md);
	border-color: var(--ap-line);
	box-shadow: var(--ap-shadow-pop);
	overflow: hidden;
}
body.dk-apple-page .el-select-dropdown__item{ font-size: 13px; color: var(--ap-text); }
body.dk-apple-page .el-select-dropdown__item.hover,
body.dk-apple-page .el-select-dropdown__item:hover{ background-color: var(--ap-hover); }
body.dk-apple-page .el-select-dropdown__item.selected{ color: var(--ap-blue); font-weight: 600; }
body.dk-apple-page .el-popover,
body.dk-apple-page .el-tooltip__popper.is-light{
	border-radius: var(--ap-radius-md);
	border-color: var(--ap-line);
	box-shadow: var(--ap-shadow-pop);
	font-size: 13px;
	color: var(--ap-text);
}
body.dk-apple-page .el-tooltip__popper.is-dark{
	background: var(--ap-tooltip-bg);
	border-radius: var(--ap-radius-sm);
	font-size: 12px;
}
body.dk-apple-page .el-dialog{
	border-radius: var(--ap-radius-lg);
	box-shadow: var(--ap-shadow-pop);
	overflow: hidden;
}
body.dk-apple-page .el-dialog__header{
	background-color: var(--ap-surface);
	border-bottom: 1px solid var(--ap-line);
	padding: 16px 20px;
	border-radius: var(--ap-radius-lg) var(--ap-radius-lg) 0 0;
}
body.dk-apple-page .el-dialog__title{ font-size: 15px; font-weight: 600; color: var(--ap-text); }
body.dk-apple-page .el-dialog__body{ padding: 16px 20px; color: var(--ap-text); }
body.dk-apple-page .el-dialog__footer{ border-top: 1px solid var(--ap-line); padding: 12px 20px; }

/* ===== 编辑列弹窗：分区 + 搜索 ===== */
body.dk-apple-page .ap-column-group{ margin-bottom: 14px; }
body.dk-apple-page .ap-column-group .ap-column-group-title{
	font-size: 12px;
	font-weight: 600;
	color: var(--ap-text-2);
	letter-spacing: .4px;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--ap-line);
}
body.dk-apple-page .ap-column-group .el-checkbox{
	margin-right: 0;
	margin-bottom: 8px;
	min-width: 168px;
}
body.dk-apple-page .ap-column-empty{ color: var(--ap-text-2); font-size: 13px; padding: 8px 0; }

/* ===== 统一表格列设置与快捷键提示 ===== */
body.dk-apple-page .dk-table-settings{
	display:inline-flex;
	align-items:center;
	gap:8px;
}
body.dk-apple-page .dk-shortcut-help{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	color:var(--ap-text-2);
	background:var(--ap-surface-sunken);
	border-radius:var(--ap-radius-sm);
	cursor:help;
}
body.dk-apple-page .dk-table-settings-dialog .el-dialog__body{
	padding-top:14px;
}
body.dk-apple-page .dk-table-settings-dialog .dk-column-actions{
	display:flex;
	align-items:center;
	gap:12px;
	margin:10px 0;
	color:var(--ap-text-2);
}
body.dk-apple-page .dk-table-settings-dialog .dk-column-actions span{
	margin-left:auto;
}
body.dk-apple-page .dk-table-settings-dialog .dk-column-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
	gap:4px 12px;
	max-height:360px;
	padding:12px;
	overflow:auto;
	background:var(--ap-surface-sunken);
	border-radius:var(--ap-radius-md);
}
body.dk-apple-page .dk-table-settings-dialog .dk-column-grid .el-checkbox{
	margin:0;
	padding:7px 8px;
	border-radius:var(--ap-radius-sm);
}
body.dk-apple-page .dk-table-settings-dialog .dk-column-grid .el-checkbox:hover{
	background:var(--ap-blue-soft);
}
body.dk-apple-page .ap-inline-status{
	display:inline-flex;
	align-items:center;
	gap:6px;
}

/* ===== 分页条 ===== */
body.dk-apple-page #pagination-module{
	position:sticky;
	bottom:8px;
	z-index:6;
	display:flex;
	justify-content:flex-end;
	background-color: var(--ap-glass);
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	border: 1px solid var(--ap-line);
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
	padding: 2px 6px;
}
body.dk-apple-page .el-pagination.is-background .el-pager li:not(.disabled).active{
	background-color: var(--ap-blue);
}
body.dk-apple-page .el-pagination.is-background .el-pager li{ border-radius: 6px; }
body.dk-apple-page .ap-inline-pagination{
	display:flex;
	justify-content:flex-end;
	margin-top:10px;
	padding:8px 0;
}

/* ===== 滚动条（细、无外框，贴近 macOS） ===== */
body.dk-apple-page ::-webkit-scrollbar{ width: 10px; height: 10px; }
body.dk-apple-page ::-webkit-scrollbar-track-piece{ background-color: transparent; }
body.dk-apple-page ::-webkit-scrollbar-thumb{
	background-color: var(--ap-scrollbar);
	border-radius: 8px;
	border: 2px solid transparent;
	background-clip: content-box;
	outline: none;
}
body.dk-apple-page ::-webkit-scrollbar-thumb:hover{ background-color: var(--ap-scrollbar-hover); }

/* ===== 加载遮罩 ===== */
body.dk-apple-page .el-loading-mask{ background-color: var(--ap-mask); }
body.dk-apple-page .el-loading-spinner .path{ stroke: var(--ap-blue); }


/* ============================================================
 *  通用组件皮肤（供所有启用本主题的模块复用）
 * ============================================================ */

/* ----- 列表页工具条（#table-module .opers 批量操作区） ----- */
body.dk-apple-page #table-module .opers{
	background-color: transparent;
	padding: 10px 16px;
	border-bottom: 1px solid var(--ap-line);
	display: flow-root;
}
body.dk-apple-page #table-module .button_left .el-button,
body.dk-apple-page #table-module .button_right .el-button{
	background-color: var(--ap-surface-sunken);
	border-color: transparent;
	color: var(--ap-text);
}
body.dk-apple-page #table-module .button_left .el-button:hover,
body.dk-apple-page #table-module .button_right .el-button:hover{
	background-color: var(--ap-pressed);
	border-color: transparent;
	color: var(--ap-text);
}

/* ----- 状态页签（el-tabs，规范 §二 状态页签） ----- */
body.dk-apple-page .el-tabs__header{ margin-bottom: 12px; }
body.dk-apple-page .el-tabs__nav-wrap::after{ background-color: var(--ap-line); }
body.dk-apple-page .el-tabs__item{
	color: var(--ap-text-2);
	font-weight: 500;
	font-size: 13px;
}
body.dk-apple-page .el-tabs__item.is-active{ color: var(--ap-blue); }
body.dk-apple-page .el-tabs__active-bar{ background-color: var(--ap-blue); border-radius: 2px; }
/* 卡片式页签做成 iOS 分段控件观感 */
body.dk-apple-page .el-tabs--card>.el-tabs__header{ border-bottom: none; }
body.dk-apple-page .el-tabs--card>.el-tabs__header .el-tabs__nav{
	border: none;
	background: var(--ap-surface-sunken);
	border-radius: var(--ap-radius-sm);
	padding: 2px;
}
body.dk-apple-page .el-tabs--card>.el-tabs__header .el-tabs__item{
	border: none !important;
	border-radius: 6px;
	transition: background var(--ap-t-micro) var(--ap-ease), color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{
	background: var(--ap-surface);
	color: var(--ap-text);
	box-shadow: var(--ap-shadow-raise);
}

/* ----- 状态标签（DkStatusTag / el-tag） ----- */
body.dk-apple-page .el-tag{
	border-radius: 6px;
	border: none;
	font-weight: 500;
	font-size: 12px;
}
body.dk-apple-page .el-tag--success{ background-color: var(--ap-ok-bg); color: var(--ap-ok); }
body.dk-apple-page .el-tag--warning{ background-color: var(--ap-warn-bg); color: var(--ap-warn); }
body.dk-apple-page .el-tag--danger{ background-color: var(--ap-err-bg); color: var(--ap-err); }
body.dk-apple-page .el-tag--info{ background-color: var(--ap-tag-neutral-bg); color: var(--ap-text-2); }
body.dk-apple-page .el-tag:not([class*="el-tag--"]){ background-color: var(--ap-blue-soft); color: var(--ap-blue); }
body.dk-apple-page .el-tag.el-tag--dark{ background-color: var(--ap-blue); color: var(--ap-on-accent); }

/* ----- 详情抽屉（el-drawer，规范 §四） ----- */
body.dk-apple-page .el-drawer{ box-shadow: var(--ap-shadow-pop); }
body.dk-apple-page .el-drawer__header{
	margin-bottom: 0;
	padding: 16px 20px;
	border-bottom: 1px solid var(--ap-line);
	color: var(--ap-text);
	font-size: 15px;
	font-weight: 600;
}
body.dk-apple-page .el-drawer__body{ padding: 16px 20px; overflow: auto; }

/* ----- 分步表单（el-steps，规范 §五） ----- */
body.dk-apple-page .el-step__head.is-finish,
body.dk-apple-page .el-step__title.is-finish{ color: var(--ap-blue); border-color: var(--ap-blue); }
body.dk-apple-page .el-step__head.is-process .el-step__icon{
	background-color: var(--ap-blue);
	border-color: var(--ap-blue);
	color: var(--ap-on-accent);
}
body.dk-apple-page .el-step__title{ font-size: 13px; font-weight: 500; }

/* ----- 开关、滑块 ----- */
body.dk-apple-page .el-switch.is-checked .el-switch__core{
	background-color: var(--ap-green);
	border-color: var(--ap-green);
}
body.dk-apple-page .el-switch__core{ border-radius: 12px; }

/* ----- 全局反馈（消息、确认框） ----- */
body.dk-apple-page .el-message{
	border-radius: var(--ap-radius-md);
	border: none;
	box-shadow: var(--ap-shadow-pop);
	font-size: 13px;
	min-width: 320px;
}
body.dk-apple-page .el-message--success{ background-color: var(--ap-ok-bg); color: var(--ap-ok); }
body.dk-apple-page .el-message--warning{ background-color: var(--ap-warn-bg); color: var(--ap-warn); }
body.dk-apple-page .el-message--error{ background-color: var(--ap-err-bg); color: var(--ap-err); }
body.dk-apple-page .el-message-box{
	border-radius: var(--ap-radius-lg);
	border: none;
	box-shadow: var(--ap-shadow-pop);
	padding-bottom: 4px;
}
body.dk-apple-page .el-message-box__header{ padding: 16px 20px 8px; }
body.dk-apple-page .el-message-box__title{ font-size: 15px; font-weight: 600; color: var(--ap-text); }
body.dk-apple-page .el-message-box__content{ padding: 4px 20px 16px; color: var(--ap-text-2); }
body.dk-apple-page .el-message-box__btns{ padding: 0 20px 16px; }

/* ----- 表格补充：固定列阴影、空态、汇总行 ----- */
body.dk-apple-page .el-table__fixed,
body.dk-apple-page .el-table__fixed-right{ box-shadow: var(--ap-shadow-fixed); }
body.dk-apple-page .el-table__fixed::before,
body.dk-apple-page .el-table__fixed-right::before{ background-color: transparent; }
body.dk-apple-page .el-table__footer-wrapper td{
	background-color: var(--ap-surface-sunken);
	font-weight: 600;
	color: var(--ap-text);
}

/* ----- 树、下拉菜单 ----- */
body.dk-apple-page .el-tree-node:focus>.el-tree-node__content,
body.dk-apple-page .el-tree-node__content:hover{ background-color: var(--ap-hover); }
body.dk-apple-page .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
	background-color: var(--ap-blue-soft);
	color: var(--ap-blue);
}
body.dk-apple-page .el-dropdown-menu__item:hover{
	background-color: var(--ap-hover);
	color: var(--ap-text);
}

/* 广告分析页面：统一主题内的内容卡片、趋势与证据布局。 */
body.dk-apple-page #amazon-ads-app { padding: 20px; }
body.dk-apple-page #amazon-ads-app .ap-card { background: var(--ap-surface); border-radius: var(--ap-radius-md); box-shadow: var(--ap-shadow-card); padding: 18px; margin-bottom: 16px; }
body.dk-apple-page #amazon-ads-app h2 { color: var(--ap-text); font-size: var(--ap-ads-title-size); margin: 0 0 8px; }
body.dk-apple-page #amazon-ads-app { --ap-ads-title-size: 22px; }
body.dk-apple-page #amazon-ads-app p { color: var(--ap-text-2); }
body.dk-apple-page #amazon-ads-app pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 420px; overflow: auto; background: var(--ap-surface-sunken); padding: 16px; border-radius: var(--ap-radius-sm); }
body.dk-apple-page #amazon-ads-app .el-pagination { margin-top: 16px; }
body.dk-apple-page #amazon-ads-app .ads-trend { width: 100%; height: 160px; }
body.dk-apple-page #amazon-ads-app .ads-cost-line { fill: none; stroke: var(--ap-blue); stroke-width: 2; }
body.dk-apple-page #amazon-ads-app .ads-sales-line { fill: none; stroke: var(--ap-green); stroke-width: 2; }

/* 通用文本工具类：筛选面板右端的说明文字、表格里的空值占位。
   （所有选择器都带 body.dk-apple-page 前缀，未启用主题的存量页面不受影响） */
body.dk-apple-page .ap-tip{
	color: var(--ap-text-2);
	font-size: 12px;
	line-height: 1.6;
}
body.dk-apple-page .ap-text-muted{
	color: var(--ap-text-3);
}
body.dk-apple-page .ap-text-danger{
	color: var(--ap-err);
}
body.dk-apple-page .ap-text-success{
	color: var(--ap-ok);  /* 文字用达标的 --ap-ok，--ap-green 只作填充 */
}

/* 销售预测分析（/bi/plan/sales-forecast）与销售达成分析（/bi/plan/sales-achieved）页面：指标卡、筛选卡片与走势图容器。 */
body.dk-apple-page #sales-forecast-app,
body.dk-apple-page #sales-achieved-app{ padding: 0 12px 20px; }
body.dk-apple-page #sales-forecast-app .sf-gap,
body.dk-apple-page #sales-achieved-app .sf-gap{ margin-top: 12px; }
/* 筛选卡片：不能用 #search-module（public/js/mod.js 会自动在该编号上挂载另一个 Vue 实例），样式与其一致 */
body.dk-apple-page #sales-forecast-app .sf-filter-card,
body.dk-apple-page #sales-achieved-app .sf-filter-card{
	background-color: var(--ap-surface);
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
	padding: 14px 18px 10px;
	margin: 12px 0;
}
body.dk-apple-page #sales-forecast-app .sf-kpis,
body.dk-apple-page #sales-achieved-app .sf-kpis{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	margin-top: 12px;
}
body.dk-apple-page #sales-forecast-app .sf-kpi,
body.dk-apple-page #sales-achieved-app .sf-kpi{
	background: var(--ap-surface);
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
	padding: 14px 18px;
	min-width: 0;
}
body.dk-apple-page #sales-forecast-app .sf-kpi-label,
body.dk-apple-page #sales-achieved-app .sf-kpi-label{ color: var(--ap-text-2); font-size: 12px; }
body.dk-apple-page #sales-forecast-app .sf-kpi-value,
body.dk-apple-page #sales-achieved-app .sf-kpi-value{
	color: var(--ap-text);
	font-size: 24px;
	font-weight: 600;
	margin: 6px 0 4px;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}
body.dk-apple-page #sales-forecast-app .sf-kpi-value small,
body.dk-apple-page #sales-achieved-app .sf-kpi-value small{ font-size: 12px; font-weight: 400; color: var(--ap-text-2); }
body.dk-apple-page #sales-forecast-app .sf-kpi-sub,
body.dk-apple-page #sales-achieved-app .sf-kpi-sub{ color: var(--ap-text-2); font-size: 12px; line-height: 1.6; }
body.dk-apple-page #sales-forecast-app .sf-title-note,
body.dk-apple-page #sales-achieved-app .sf-title-note{ font-size: 12px; font-weight: 400; }
body.dk-apple-page #sales-forecast-app .sf-chart,
body.dk-apple-page #sales-achieved-app .sf-chart{ padding: 8px 12px 4px; min-height: 300px; }
/* 销量、销售额两张走势图：宽屏并排，单张不足 520px 时上下排列 */
body.dk-apple-page #sales-forecast-app .sf-charts,
body.dk-apple-page #sales-achieved-app .sf-charts{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(520px, 100%), 1fr));
	gap: 12px;
}
body.dk-apple-page #sales-forecast-app .sf-charts .ap-panel,
body.dk-apple-page #sales-achieved-app .sf-charts .ap-panel{ min-width: 0; }
body.dk-apple-page #sales-forecast-app .el-table,
body.dk-apple-page #sales-achieved-app .el-table{ margin: 0; }
body.dk-apple-page #sales-forecast-app .el-table .el-tag,
body.dk-apple-page #sales-achieved-app .el-table .el-tag{ margin-left: 4px; }
/* 销售达成分析：达成率高于预警上限（时间进度 × 130%）用橙色，低于下限沿用 .ap-text-danger */
body.dk-apple-page #sales-achieved-app .sa-text-high{ color: var(--ap-warn); }
/* 指标卡数值自带文字色（#编号 + 类选择器优先级更高），预警色需在同一优先级上覆盖 */
body.dk-apple-page #sales-achieved-app .sf-kpi-value.ap-text-danger{ color: var(--ap-err); }
body.dk-apple-page #sales-achieved-app .sf-kpi-value.sa-text-high{ color: var(--ap-warn); }

/* 销量分析：筛选紧凑排布，销量主图与精确数据共享苹果主题变量。 */
body.dk-apple-page .order-analysis-page .oa-dimension-select{ width: 180px; }
body.dk-apple-page .order-analysis-page .oa-dept-level{ width: 140px; }
body.dk-apple-page .order-analysis-page .oa-date-pair .ap-pair-fixed{ flex-basis: 108px; }
body.dk-apple-page .order-analysis-page .oa-analysis-pair .ap-pair-fixed{ flex-basis: 100px; }
body.dk-apple-page .order-analysis-page .oa-page-heading{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 20px 0 12px;
}
body.dk-apple-page .order-analysis-page .oa-page-heading h1{
	margin: 0;
	color: var(--ap-text);
	font-size: 23px;
	font-weight: 650;
}
body.dk-apple-page .order-analysis-page .oa-page-heading p,
body.dk-apple-page .order-analysis-page .oa-section-head p{
	margin: 4px 0 0;
	color: var(--ap-text-2);
	font-size: 12px;
}
body.dk-apple-page .order-analysis-page .oa-period{
	color: var(--ap-text-2);
	font-size: 12px;
}
body.dk-apple-page .order-analysis-page .oa-kpis{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 12px;
}
body.dk-apple-page .order-analysis-page .oa-kpi{
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding: 16px 18px;
	background: var(--ap-surface);
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
}
body.dk-apple-page .order-analysis-page .oa-kpi-primary{ background: var(--ap-blue-soft); }
body.dk-apple-page .order-analysis-page .oa-kpi-label,
body.dk-apple-page .order-analysis-page .oa-kpi-note{
	color: var(--ap-text-2);
	font-size: 12px;
}
body.dk-apple-page .order-analysis-page .oa-kpi-value{
	color: var(--ap-text);
	font-size: 28px;
	font-weight: 650;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}
body.dk-apple-page .order-analysis-page .oa-kpi-primary .oa-kpi-value{ color: var(--ap-blue); }
body.dk-apple-page .order-analysis-page .oa-kpi-value small{
	font-size: 13px;
	font-weight: 500;
}
body.dk-apple-page .order-analysis-page .oa-chart-card,
body.dk-apple-page .order-analysis-page .oa-detail-card{
	padding: 16px 18px;
}
body.dk-apple-page .order-analysis-page .oa-section-head{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin-bottom: 10px;
}
body.dk-apple-page .order-analysis-page .oa-section-head h2{
	margin: 0;
	color: var(--ap-text);
	font-size: 16px;
	font-weight: 600;
}
body.dk-apple-page .order-analysis-page .oa-chart-actions{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
}
body.dk-apple-page .order-analysis-page .oa-chart-note{
	margin: 4px 0 8px;
	color: var(--ap-text-2);
	font-size: 12px;
}
body.dk-apple-page .order-analysis-page .oa-chart{
	width: 100%;
	min-width: 0;
	color: var(--ap-text-2);
}
body.dk-apple-page .order-analysis-page .oa-detail-card .el-table{ margin: 0; }
body.dk-apple-page .order-analysis-page .oa-pagination{
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}
@media (max-width: 900px){
	body.dk-apple-page .order-analysis-page .oa-kpis{ grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
	body.dk-apple-page .order-analysis-page .oa-chart-actions{ width: 100%; }
}

/* ===== 减少动态效果：系统开启「减少动态效果」时，主题内的过渡与动画一律降为瞬时 ===== */
@media (prefers-reduced-motion: reduce){
	body.dk-apple-page *,
	body.dk-apple-page *::before,
	body.dk-apple-page *::after{
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* =====================================================================
   登录页（/default/index/login，模板 default/views/default/login.tpl）
   排版、尺寸、内容与改造前的 login.css 完全一致（2026-09-30 用户确认），只把配色换成苹果风格：
   页面底色 --ap-bg、左侧品牌区石墨黑面板 --ap-brand-panel（不再用偏青的 zisage-banner.jpg）、
   强调色统一为 Apple 蓝（原青蓝渐变）、文字与描边用 --ap-text* / --ap-line*。
   布局 login-layout.phtml 同时被 5 个大屏页面共用，所以登录页样式只写在 #dk_login 之下；
   login.css 只保留大屏页面依赖的全局底样式。
   ===================================================================== */
body.dk-apple-page #dk_login{ min-height: 100vh; background: var(--ap-bg); }
body.dk-apple-page #dk_login .login-page{
	display: grid;
	grid-template-columns: minmax(340px, .95fr) minmax(420px, 1.05fr);
	width: min(1080px, calc(100% - 64px));
	min-height: 650px;
	margin: 0 auto;
	padding: 48px 0;
	align-items: stretch;
}
body.dk-apple-page #dk_login .login-brand{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 554px;
	padding: 52px;
	overflow: hidden;
	color: var(--ap-on-image);
	background: var(--ap-brand-panel);
	border-radius: 24px 0 0 24px;
	box-shadow: var(--ap-shadow-pop);
}
body.dk-apple-page #dk_login .login-brand::after{
	content: "";
	position: absolute;
	right: -90px;
	bottom: -120px;
	width: 360px;
	height: 360px;
	border: 1px solid var(--ap-on-image-ring);
	border-radius: 50%;
	box-shadow: 0 0 0 54px var(--ap-on-image-ring-1), 0 0 0 108px var(--ap-on-image-ring-2);
}
body.dk-apple-page #dk_login .brand-mark,
body.dk-apple-page #dk_login .brand-copy,
body.dk-apple-page #dk_login .brand-meta{ position: relative; z-index: 1; }
body.dk-apple-page #dk_login .brand-mark{ display: inline-flex; flex-direction: column; align-items: flex-start; width: max-content; }
body.dk-apple-page #dk_login .brand-mark strong{ font-size: 27px; line-height: 1; letter-spacing: 5px; color: var(--ap-on-image); }
body.dk-apple-page #dk_login .brand-mark span{ margin-top: 7px; font-size: 12px; font-weight: 600; letter-spacing: 7px; color: var(--ap-on-image-2); }
body.dk-apple-page #dk_login .brand-eyebrow,
body.dk-apple-page #dk_login .login-kicker{
	display: block;
	margin-bottom: 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
}
body.dk-apple-page #dk_login .brand-eyebrow{ color: var(--ap-on-image-2); }
body.dk-apple-page #dk_login .brand-copy h1{ margin: 0 0 18px; font-size: 36px; line-height: 1.25; letter-spacing: -.5px; }
body.dk-apple-page #dk_login .brand-copy p{ max-width: 350px; font-size: 16px; line-height: 1.8; color: var(--ap-on-image-2); }
body.dk-apple-page #dk_login .brand-meta{ display: flex; gap: 10px; }
body.dk-apple-page #dk_login .brand-meta span{
	padding: 7px 12px;
	font-size: 12px;
	color: var(--ap-on-image-2);
	background: var(--ap-on-image-fill);
	border: 1px solid var(--ap-on-image-line);
	border-radius: 999px;
	backdrop-filter: blur(8px);
}
body.dk-apple-page #dk_login .login-panel{
	display: flex;
	align-items: center;
	padding: 60px 76px;
	background: var(--ap-surface);
	border: 1px solid var(--ap-line);
	border-left: 0;
	border-radius: 0 24px 24px 0;
	box-shadow: var(--ap-shadow-pop);
}
body.dk-apple-page #dk_login .login-container{ width: 100%; max-width: 390px; margin: 0 auto; }
body.dk-apple-page #dk_login .login-heading{ margin-bottom: 36px; }
body.dk-apple-page #dk_login .login-kicker{ margin-bottom: 10px; color: var(--ap-blue); }
body.dk-apple-page #dk_login .login-container .title{ margin: 0 0 10px; font-size: 30px; line-height: 1.3; color: var(--ap-text); }
body.dk-apple-page #dk_login .login-heading p{ font-size: 14px; line-height: 1.7; color: var(--ap-text-2); }
body.dk-apple-page #dk_login .login-container .el-form-item{ margin-bottom: 20px; }
body.dk-apple-page #dk_login .login-container .el-input__inner{
	height: 48px;
	line-height: 48px;
	padding: 0 16px;
	font-size: 14px;
	color: var(--ap-text);
	background: var(--ap-surface-sunken);
	border: 1px solid var(--ap-line-strong);
	border-radius: 10px;
	transition: border-color var(--ap-t-micro) var(--ap-ease), box-shadow var(--ap-t-micro) var(--ap-ease), background-color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #dk_login .login-container .el-input__inner:hover{ border-color: var(--ap-ctl-line-hover); }
body.dk-apple-page #dk_login .login-container .el-input__inner:focus{ background: var(--ap-surface); border-color: var(--ap-blue); box-shadow: var(--ap-focus-ring); }
body.dk-apple-page #dk_login .login-container .el-form-item.is-error .el-input__inner{ border-color: var(--ap-err); box-shadow: 0 0 0 3px var(--ap-err-bg); }
body.dk-apple-page #dk_login .login-container .el-button{ height: 48px; border-radius: 10px; }
body.dk-apple-page #dk_login .login-container .el-button--primary{
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .5px;
	color: var(--ap-on-accent);
	background: var(--ap-blue);
	border: 0;
	transition: background-color var(--ap-t-micro) var(--ap-ease), transform var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #dk_login .login-container .el-button--primary:hover,
body.dk-apple-page #dk_login .login-container .el-button--primary:focus{ background: var(--ap-blue-hover); }
body.dk-apple-page #dk_login .login-container .el-button--primary:active{ transform: scale(.99); }
body.dk-apple-page #dk_login .login-container .el-button--default{ color: var(--ap-text); background: var(--ap-surface); border-color: var(--ap-line-strong); }
body.dk-apple-page #dk_login .login-container .el-button--default:hover,
body.dk-apple-page #dk_login .login-container .el-button--default:focus{ color: var(--ap-text); background: var(--ap-hover); border-color: var(--ap-line-strong); }
body.dk-apple-page #dk_login .login-container .remember{ margin: 0 0 35px; }
body.dk-apple-page #dk_login .language-label{ margin-top: 4px; font-size: 11px; font-weight: 700; line-height: 20px; text-align: center; letter-spacing: 1.2px; color: var(--ap-text-2); }
body.dk-apple-page #dk_login #language-box{ line-height: 30px; text-align: center; }
body.dk-apple-page #dk_login #language-box span{
	display: inline-block;
	padding: 0 4px;
	margin: 0 6px;
	color: var(--ap-text-2);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	user-select: none;
	transition: color var(--ap-t-micro) var(--ap-ease), border-color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #dk_login #language-box span:hover{ color: var(--ap-text); }
body.dk-apple-page #dk_login #language-box .current{ color: var(--ap-blue); font-weight: 600; border-bottom-color: var(--ap-blue); }
body.dk-apple-page #dk_login .login-icp{ font-size: 12px; color: var(--ap-text-2); text-decoration: none; }
body.dk-apple-page #dk_login .login-icp:hover{ color: var(--ap-blue); }
@media (max-width: 860px){
	body.dk-apple-page #dk_login .login-page{ grid-template-columns: 1fr; width: min(520px, calc(100% - 32px)); padding: 24px 0; }
	body.dk-apple-page #dk_login .login-brand{ min-height: 220px; padding: 30px 34px; border-radius: 20px 20px 0 0; }
	body.dk-apple-page #dk_login .brand-mark strong{ font-size: 23px; }
	body.dk-apple-page #dk_login .brand-copy h1{ font-size: 28px; }
	body.dk-apple-page #dk_login .brand-copy p,
	body.dk-apple-page #dk_login .brand-meta{ display: none; }
	body.dk-apple-page #dk_login .login-panel{ padding: 40px 34px 28px; border-top: 0; border-left: 1px solid var(--ap-line); border-radius: 0 0 20px 20px; }
}
@media (max-width: 480px){
	body.dk-apple-page #dk_login .login-page{ width: 100%; min-height: 100vh; padding: 0; }
	body.dk-apple-page #dk_login .login-brand{ min-height: 176px; padding: 24px; border-radius: 0; }
	body.dk-apple-page #dk_login .brand-copy h1{ font-size: 24px; }
	body.dk-apple-page #dk_login .login-panel{ align-items: flex-start; padding: 36px 24px 24px; border: 0; border-radius: 0; box-shadow: none; }
	body.dk-apple-page #dk_login .login-heading{ margin-bottom: 28px; }
}

/* =====================================================================
   主框架（/default/system/index，模板 default/views/default/system.tpl）
   只改外观：顶栏、下拉菜单、页签条、右上角入口、底部信息栏。
   菜单、页签、固定页签、右键菜单等脚本逻辑不动。system.css 的旧规则仍在，
   这里用 body.dk-apple-page 前缀覆盖。
   ===================================================================== */
body.dk-apple-page #dk_system{ min-width: 980px; }
body.dk-apple-page #dk_system .dk_nav{
	position: relative;
	z-index: 10;
	height: 52px;
	padding: 0 var(--ap-s-4);
	gap: var(--ap-s-3);
	background: var(--ap-nav-bg);
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid var(--ap-line);
	box-shadow: none;
}
body.dk-apple-page #dk_system #dk_nav_left,
body.dk-apple-page #dk_system #dk_nav_list,
body.dk-apple-page #dk_system #dk_nav_right,
body.dk-apple-page #dk_system #dk_nav_list > .el-menu{ height: 52px; }
/* 菜单超出宽度时的横向滚动条（system.css 的窄屏兜底）：改用主题滚动条颜色 */
body.dk-apple-page #dk_system #dk_nav_list{ scrollbar-color: var(--ap-scrollbar) transparent; }
body.dk-apple-page #dk_system #dk_nav_list::-webkit-scrollbar-track{ background: transparent; }
body.dk-apple-page #dk_system #dk_nav_list::-webkit-scrollbar-thumb{ background: var(--ap-scrollbar); }
body.dk-apple-page #dk_system #dk_nav_left{ flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
body.dk-apple-page #dk_system #dk_nav_left .nav-brand{ width: auto; flex-direction: row; align-items: center; gap: var(--ap-s-2); color: var(--ap-text); }
body.dk-apple-page #dk_system #dk_nav_left .nav-brand strong{ font-size: var(--ap-fs-15); font-weight: 700; letter-spacing: 2px; }
body.dk-apple-page #dk_system #dk_nav_left .nav-brand small{ margin: 0; font-size: var(--ap-fs-12); font-weight: 400; letter-spacing: 0; color: var(--ap-text-2); }
/* 一级菜单：常态主文字，悬停浅底，当前所在模块用强调色，不再画底部粗线 */
body.dk-apple-page #dk_system #dk_nav_list .el-submenu .el-submenu__title{
	height: 32px;
	line-height: 32px;
	margin: 10px 1px;
	padding: 0 var(--ap-s-3) 0 10px;
	font-size: var(--ap-fs-13);
	font-weight: 500;
	color: var(--ap-text);
	border: none;
	border-radius: var(--ap-radius-sm);
	transition: background-color var(--ap-t-micro) var(--ap-ease), color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #dk_system #dk_nav_list .el-submenu .el-submenu__title:hover{ background: var(--ap-hover); color: var(--ap-text); }
body.dk-apple-page #dk_system #dk_nav_list .el-submenu.is-active .el-submenu__title{ background: var(--ap-blue-soft); color: var(--ap-blue); }
body.dk-apple-page #dk_system #dk_nav_list .el-submenu__title .el-submenu__icon-arrow{ display: none; }
/* 一级菜单展开的面板（挂在 body 下的浮层） */
body.dk-apple-page .el-menu--horizontal .el-menu{
	padding: var(--ap-s-3) var(--ap-s-4);
	background: var(--ap-raised);
	border: none;
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-pop);
}
body.dk-apple-page .el-menu--horizontal .el-menu-item-group .el-menu-item-group__title{
	padding: 0 0 var(--ap-s-2) !important;
	margin-bottom: var(--ap-s-1);
	font-size: var(--ap-fs-12);
	font-weight: 600;
	text-align: left;
	color: var(--ap-text-2);
	border-bottom: 1px solid var(--ap-line);
}
body.dk-apple-page .el-menu--horizontal .el-menu .el-menu-item,
body.dk-apple-page .el-menu--horizontal .el-menu .el-submenu__title{
	height: 32px;
	line-height: 32px;
	padding: 0 var(--ap-s-2) !important;
	font-size: var(--ap-fs-13);
	color: var(--ap-text);
	background: transparent;
	border-radius: 6px;
}
body.dk-apple-page .el-menu--horizontal .el-menu .el-menu-item:not(.is-disabled):hover,
body.dk-apple-page .el-menu--horizontal .el-menu .el-submenu__title:hover{ background: var(--ap-hover); color: var(--ap-text); }
body.dk-apple-page .el-menu--horizontal .el-menu .el-menu-item.is-active{ color: var(--ap-blue); font-weight: 500; }
/* 右上角：头像 + 用户名、消息、语言 */
body.dk-apple-page #dk_system #dk_nav_right{ gap: 2px; padding: 0; }
body.dk-apple-page #dk_system #dk_nav_right .el-dropdown{
	margin: 0 !important;
	padding: 0 var(--ap-s-2) !important;
	height: 32px;
	line-height: 32px;
	font-size: var(--ap-fs-13);
	font-weight: 400;
	color: var(--ap-text-2);
	border-radius: var(--ap-radius-sm);
	transition: background-color var(--ap-t-micro) var(--ap-ease), color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #dk_system #dk_nav_right .el-dropdown:hover{ background: var(--ap-hover); color: var(--ap-text); }
body.dk-apple-page #dk_system #dk_nav_right .el-dropdown .el-dropdown-menu__item{ padding: 0; line-height: 32px; color: inherit; background: transparent; }
body.dk-apple-page #dk_system #dk_nav_right .nav-user{ display: inline-flex; align-items: center; gap: var(--ap-s-2); color: var(--ap-text); }
body.dk-apple-page #dk_system #dk_nav_right .nav-avatar{
	width: 24px;
	height: 24px;
	line-height: 24px;
	border-radius: 50%;
	text-align: center;
	font-size: var(--ap-fs-12);
	font-weight: 600;
	color: var(--ap-blue);
	background: var(--ap-blue-soft);
}
body.dk-apple-page .language_dropdown_menu .el-dropdown-menu__item.current{ color: var(--ap-blue); font-weight: 500; }
/* 页签区：卡片容器 + 灰色页签槽，当前页签为白色，与内容连成一体 */
body.dk-apple-page #dk_system #dk_container{ padding: var(--ap-s-3) var(--ap-s-3) 30px; background: var(--ap-bg); }
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card{
	background: var(--ap-surface);
	border: none;
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
}
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card > .el-tabs__header{
	background: var(--ap-surface-sunken);
	border-bottom: 1px solid var(--ap-line);
}
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card > .el-tabs__header .el-tabs__item{
	height: 36px;
	line-height: 36px;
	padding: 0 var(--ap-s-4) !important;
	margin: 0;
	font-size: var(--ap-fs-13);
	color: var(--ap-text-2);
	border: none;
	border-right: 1px solid var(--ap-line);
	box-shadow: none;
	transition: background-color var(--ap-t-micro) var(--ap-ease), color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card > .el-tabs__header .el-tabs__item:hover{ color: var(--ap-text); background: var(--ap-hover); }
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active{
	color: var(--ap-text);
	font-weight: 500;
	background: var(--ap-surface);
	border-right-color: var(--ap-line);
	box-shadow: none;
}
/* 关闭按钮：只在悬停与当前页签上出现，减少视觉噪音 */
body.dk-apple-page #dk_system #dk_container .el-tabs__item .el-icon-close{ opacity: 0; transition: opacity var(--ap-t-micro) var(--ap-ease), background-color var(--ap-t-micro); }
body.dk-apple-page #dk_system #dk_container .el-tabs__item:hover .el-icon-close,
body.dk-apple-page #dk_system #dk_container .el-tabs__item.is-active .el-icon-close{ opacity: 1; }
body.dk-apple-page #dk_system #dk_container .el-tabs__item .el-icon-close:hover{ background: var(--ap-pressed); color: var(--ap-text); }
body.dk-apple-page #dk_system #dk_container .el-tabs__item .fixed-tab-icon{ color: var(--ap-blue); }
body.dk-apple-page #dk_system #dk_container .el-tabs__item .el-icon-warning-outline{ color: var(--ap-warn); }
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card > .el-tabs__header .el-icon-arrow-left,
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card > .el-tabs__header .el-icon-arrow-right{ line-height: 36px; background: transparent; color: var(--ap-text-2); }
body.dk-apple-page #dk_system #dk_container .el-tabs--border-card > .el-tabs__content{ padding: 0; background: var(--ap-surface); }
/* 底部信息栏：不再用深色压条，改为页面底色上的次级小字 */
body.dk-apple-page .system-footer{
	height: 26px;
	line-height: 26px;
	font-size: var(--ap-fs-12);
	color: var(--ap-text-2);
	background: var(--ap-bg);
	border-top: 1px solid var(--ap-line);
}
body.dk-apple-page .approval-menu-badge .el-badge__content{ background-color: var(--ap-err); border: none; }

/* =====================================================================
   首页「今天」工作台（/default/system/home，模板 default/views/default/home.tpl）
   只读主框架已有的数据（待我审批数、已打开与固定的页签），外加现有的未读消息数接口。
   ===================================================================== */
body.dk-apple-page #ap-home{ max-width: 1120px; margin: 0 auto; padding: var(--ap-s-6) var(--ap-s-5) var(--ap-s-7); }
body.dk-apple-page #ap-home .home-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ap-s-4); flex-wrap: wrap; margin-bottom: var(--ap-s-5); }
body.dk-apple-page #ap-home .home-head h1{ margin: 0 0 var(--ap-s-1); font-size: var(--ap-fs-28); font-weight: 700; letter-spacing: -.3px; color: var(--ap-text); }
body.dk-apple-page #ap-home .home-head p{ margin: 0; font-size: var(--ap-fs-13); color: var(--ap-text-2); }
body.dk-apple-page #ap-home .home-section-title{ margin: var(--ap-s-6) 0 var(--ap-s-3); font-size: var(--ap-fs-17); font-weight: 600; color: var(--ap-text); }
body.dk-apple-page #ap-home .home-cards{ display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--ap-s-3); }
body.dk-apple-page #ap-home .home-card{
	display: flex;
	flex-direction: column;
	gap: var(--ap-s-2);
	padding: var(--ap-s-4);
	text-align: left;
	font: inherit;
	color: inherit;
	background: var(--ap-surface);
	border: none;
	border-radius: var(--ap-radius-md);
	box-shadow: var(--ap-shadow-card);
	cursor: pointer;
	transition: box-shadow var(--ap-t-micro) var(--ap-ease), transform var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #ap-home .home-card:hover{ box-shadow: var(--ap-shadow-pop); }
body.dk-apple-page #ap-home .home-card:active{ transform: scale(.99); }
body.dk-apple-page #ap-home .home-card:focus-visible{ outline: 2px solid var(--ap-blue); outline-offset: 2px; }
body.dk-apple-page #ap-home .home-card .card-label{ display: flex; align-items: center; gap: 6px; font-size: var(--ap-fs-12); font-weight: 500; color: var(--ap-text-2); }
body.dk-apple-page #ap-home .home-card .card-label i{ font-size: 14px; }
body.dk-apple-page #ap-home .home-card.is-info .card-label{ color: var(--ap-info); }
body.dk-apple-page #ap-home .home-card.is-warn .card-label{ color: var(--ap-warn); }
body.dk-apple-page #ap-home .home-card .card-value{ font-size: var(--ap-fs-28); font-weight: 600; line-height: 1.15; letter-spacing: -.5px; color: var(--ap-text); font-variant-numeric: tabular-nums; }
body.dk-apple-page #ap-home .home-card .card-value small{ margin-left: var(--ap-s-1); font-size: var(--ap-fs-13); font-weight: 400; letter-spacing: 0; color: var(--ap-text-2); }
body.dk-apple-page #ap-home .home-card .card-desc{ font-size: var(--ap-fs-12); color: var(--ap-text-2); }
body.dk-apple-page #ap-home .home-card .card-go{ margin-top: auto; font-size: var(--ap-fs-12); font-weight: 500; color: var(--ap-blue); }
body.dk-apple-page #ap-home .home-card.is-done .card-value{ color: var(--ap-ok); }
/* 常用页面：固定页签 + 当前已打开的页签 */
body.dk-apple-page #ap-home .home-links{ background: var(--ap-surface); border-radius: var(--ap-radius-md); box-shadow: var(--ap-shadow-card); overflow: hidden; }
body.dk-apple-page #ap-home .home-link{
	display: flex;
	align-items: center;
	gap: var(--ap-s-3);
	width: 100%;
	min-height: 44px;
	padding: 0 var(--ap-s-4);
	font: inherit;
	font-size: var(--ap-fs-13);
	text-align: left;
	color: var(--ap-text);
	background: transparent;
	border: none;
	border-top: 1px solid var(--ap-line);
	cursor: pointer;
	transition: background-color var(--ap-t-micro) var(--ap-ease);
}
body.dk-apple-page #ap-home .home-link:first-child{ border-top: none; }
body.dk-apple-page #ap-home .home-link:hover{ background: var(--ap-hover); }
body.dk-apple-page #ap-home .home-link:focus-visible{ outline: 2px solid var(--ap-blue); outline-offset: -2px; }
body.dk-apple-page #ap-home .home-link .link-icon{ width: 16px; text-align: center; color: var(--ap-text-2); }
body.dk-apple-page #ap-home .home-link .link-icon.is-fixed{ color: var(--ap-blue); }
body.dk-apple-page #ap-home .home-link .link-title{ flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.dk-apple-page #ap-home .home-link .link-meta{ font-size: var(--ap-fs-12); color: var(--ap-text-2); }
body.dk-apple-page #ap-home .home-empty{ padding: var(--ap-s-6) var(--ap-s-4); text-align: center; color: var(--ap-text-2); font-size: var(--ap-fs-13); line-height: 1.7; }
body.dk-apple-page #ap-home .home-empty b{ color: var(--ap-text); font-weight: 600; }

/* ===== 表单校验态：错误文字与描边统一用文字语义色 --ap-err ===== */
body.dk-apple-page .el-form-item__error{ color: var(--ap-err); font-size: var(--ap-fs-12); }
body.dk-apple-page .el-form-item.is-error .el-input__inner,
body.dk-apple-page .el-form-item.is-error .el-input__inner:focus,
body.dk-apple-page .el-form-item.is-error .el-textarea__inner{ border-color: var(--ap-err); box-shadow: 0 0 0 3px var(--ap-err-bg); }
