/* 由 scripts/promo-dashboard-v1-build-css.js 生成，请勿手改。
   卡片视觉唯一来源：services/promo-dashboard-v1/card-view.js（已封版）。*/

/* 设计令牌：与样板页同一份数值（封版） */
:root{
  --green-dark:#173B25;--green-mid:#2D5A3D;--green-light:#4A7C59;--moss:#8E9A7C;
  --gold:#D6B56D;--price:#8B6A2E;--ink:#1F2A24;--weak:#748178;--hair:#ECEFEB;
  --card:#FFFFFF;--soft:#F4F7F1;--shadow:0 10px 28px rgba(20,48,31,.07);
  --serif:"XCJ Serif SC","Songti SC","STSong","Noto Serif SC",serif;   /* 项目自有 Noto Serif SC 子集，iOS / Android 一致，不依赖系统回退 */
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif;
}
/* ── 看板卡片：顾客侧界面 ───────────────── */
.dash{background:var(--card);border-radius:18px;padding:20px 18px 18px;box-shadow:var(--shadow)}
.dash-head{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.22em;color:var(--moss)}
.leaf{width:14px;height:14px;flex:0 0 14px;opacity:.9}
.dash-title{margin:12px 0 18px;font-family:var(--serif);font-size:21px;line-height:1.5;font-weight:600;letter-spacing:.06em;color:var(--green-dark);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1,"onum" 0}
/* 整卡数字一套字形规则：一律 lining（现代等高数字）+ tabular（等宽对齐），不允许回落成旧体数字 */
.dash,.dash-title,.cell-v,.cell-u,.mark,.aux{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1,"onum" 0}
/* 版式：1 项 = 宽版主结果卡，2 项 = 两列，3 项 = 三列；由真实数据数量决定，不造数据。
   列比例固定：三列 33.5% / 39.5% / 27%，两列 50% / 50%。分隔线永远在同一条竖线上，
   不随这张卡是「64单」还是「¥1668.54」而变；换手机宽度只是整体等比放大。 */
.grid{display:grid;gap:0}
.lay-single .grid{grid-template-columns:1fr}
.lay-double .grid{grid-template-columns:50% 50%}
.lay-triple .grid{grid-template-columns:36% 36% 28%}
/* 一列之内：数值、指标名、角标共用一根中轴（三者中心线重合），不随字数变化左右漂移 */
.cell{min-width:0;padding:0 14px;border-right:1px solid var(--hair);text-align:center}
.cell:first-child{padding-left:0}
.cell:last-child{border-right:0;padding-right:0}
.lay-triple .grid>.cell:first-child,.lay-double .grid>.cell:first-child{padding-left:0}
.lay-triple .grid>.cell:last-child,.lay-double .grid>.cell:last-child{padding-right:0;border-right:0}
.cell-v{font-size:21px;line-height:1.1;font-weight:600;color:#2A3A30;white-space:nowrap}
.cell-u{margin-left:2px;font-size:12px;font-weight:500;color:var(--weak)}
.cell-l{margin-top:8px;font-size:11.5px;letter-spacing:.04em;color:var(--weak);white-space:nowrap}
.cell-hero .cell-v{font-size:34px;color:var(--green-dark)}
.cell-hero .cell-u{font-size:14px;color:var(--green-mid)}
.cell-hero .cell-l{margin-top:10px;font-size:12.5px;letter-spacing:.08em}
.lay-double .cell-hero .cell-v{font-size:32px}
.lay-double .cell-hero.money .cell-v{font-size:28px}
.lay-double .cell-v{font-size:21px}
.lay-double .cell.money .cell-v{font-size:20px}
.lay-double .cell{padding:0 14px}
/* 三列各位置的基准字号固定；超长数字只缩它自己（由 card-view.js 内联给出），不动模板 */
.lay-triple .cell-hero .cell-v{font-size:27px}
.lay-triple .cell-hero.money .cell-v{font-size:19px}
.lay-triple .cell-v{font-size:19px}
.lay-triple .cell.money .cell-v{font-size:17px}
.lay-triple .cell{padding:0 11px}
/* 单项：宽版主结果卡，有重量感 */
.lay-single .grid{padding:20px 18px 18px;border-radius:16px;background:linear-gradient(160deg,rgba(142,154,124,.10),rgba(142,154,124,.04))}
.lay-single .cell{padding:0;border-right:0}
.lay-single .cell-hero .cell-v{font-size:52px;letter-spacing:-.02em}
.lay-single .cell-hero.money .cell-v{font-size:46px;letter-spacing:-.02em}
.lay-single .cell-hero .cell-u{font-size:17px}
.lay-single .cell-hero .cell-l{margin-top:14px;font-size:13px}
/* 里程碑 / 首次角标：独占一行，与本列的数值、指标名共用同一根中轴 */
.mark{display:block;width:-webkit-max-content;width:max-content;max-width:100%;margin:7px auto 0;padding:1px 5px;border-radius:999px;background:rgba(214,181,109,.18);color:var(--price);font-size:9.5px;letter-spacing:.04em;font-weight:600}
.aux{margin-top:14px;display:flex;flex-direction:column;gap:5px;font-size:11.5px;letter-spacing:.04em;color:#9AA39C}
.aux-item{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
.aux-item b{font-weight:600;color:#7E8A80}
.insight{position:relative;margin-top:18px;padding:15px 16px 15px 18px;border-radius:14px;background:var(--soft)}
.insight:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:2px;border-radius:2px;background:var(--moss);opacity:.55}
.insight p{margin:0;font-size:14.5px;line-height:1.95;color:#2C382F;letter-spacing:.02em}
.howto{display:block;width:100%;margin-top:18px;height:46px;border:0;border-radius:26px;background:var(--green-dark);color:#fff;font-family:inherit;font-size:15px;font-weight:500;letter-spacing:.12em;box-shadow:0 6px 18px rgba(23,59,37,.18)}


@media (prefers-color-scheme: dark){
  .cell-v{color:#C7D6C3}
  .insight p{color:#DCE6DA}
  .howto{background:#2C6142;color:#F2F7F0;box-shadow:none}
  .lay-single .grid{background:linear-gradient(160deg,rgba(157,171,140,.16),rgba(157,171,140,.06))}
}
body.dark .cell-v{color:#C7D6C3}
body.dark .insight p{color:#DCE6DA}
body.dark .howto{background:#2C6142;color:#F2F7F0;box-shadow:none}
body.dark .lay-single .grid{background:linear-gradient(160deg,rgba(157,171,140,.16),rgba(157,171,140,.06))}


/* 弹层外壳：只负责居中与遮罩，卡片视觉完全来自封版组件 */
.promo-dash-layer{position:fixed;left:0;top:0;right:0;bottom:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:18px}
.promo-dash-mask{position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(18,26,20,.34);backdrop-filter:blur(2px)}
.promo-dash-body{position:relative;width:min(100%,360px);max-height:calc(100vh - 48px);overflow-y:auto}
.promo-dash-close{position:absolute;right:-2px;top:-34px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:#4E5B53;font-size:16px;line-height:28px;padding:0}
.promo-dash-layer .dash{animation:promoDashUp .32s cubic-bezier(.2,.8,.3,1)}
@keyframes promoDashUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* 推广中心主动查看区域 */
.promo-dash-view{margin-top:12px}
.promo-dash-view .dash{box-shadow:0 6px 18px rgba(20,48,31,.07)}
.promo-dash-view-empty{padding:18px 16px;border-radius:14px;background:#F7FAF5;color:#6E7670;font-size:13px;line-height:1.9}
.promo-dash-view-when{margin:0 2px 8px;font-size:11.5px;letter-spacing:.06em;color:#9AA39C}
.promo-dash-recent{margin-top:10px}
.promo-dash-recent-item{padding:12px 0;border-top:1px solid #ECEFEB}
.promo-dash-recent-item:first-child{border-top:0}
.promo-dash-recent-t{font-size:13.5px;font-weight:600;color:#173B25}
.promo-dash-recent-x{margin-top:5px;font-size:12.5px;line-height:1.85;color:#4E5B53}
.promo-dash-recent-d{margin-top:4px;font-size:11px;color:#A2AAA4}
