main{max-width:940px}
.lede{color:var(--soft);font-size:.95rem}

.tip{background:#fff6ea;border:1px solid #efdcc4;color:#8a6a44;border-radius:10px;
  padding:10px 14px;font-size:.88rem;margin-bottom:var(--gap)}

.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:var(--gap)}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  display:flex;flex-direction:column;gap:4px}
.kpi.wide{grid-column:1/-1}
.kpi .t{color:var(--soft);font-size:.8rem}
.kpi .v{color:var(--ink);font-size:1.22rem;font-weight:700}
.kpi .v.up{color:#3f8f6a}
.kpi .v.down{color:#c1553f}

.chart #chartMain{width:100%;height:300px}
.chart #chartWeek{width:100%;height:210px}
.card.chart{padding:14px 12px 10px}
.ch{font-size:.9rem;font-weight:700;color:var(--ink);padding:2px 6px 10px}
.mini{font-size:.78rem;padding:6px 6px 0;margin:0}

.two{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--gap);align-items:start}
/* ⚠️ 6.6em 不是 CN 的 4.4em：列宽由最长的 "Daily target" 决定 */
.entry label{display:grid;grid-template-columns:6.6em 1fr;align-items:center;gap:10px;margin-bottom:9px;font-size:.9rem}
.entry .k{color:var(--soft)}
.entry input{padding:8px 10px;font-size:.92rem}
.entry hr{margin:14px 0 12px}
.btn.small{padding:7px 12px;font-size:.85rem;width:100%;margin-top:4px}
.flash{color:#3f8f6a;font-size:.85rem;opacity:0;transition:opacity .2s}
.flash.on{opacity:1}

@media(max-width:760px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .two{grid-template-columns:1fr}
  .chart #chartMain{height:260px}
}
