/* CN 个人版 · 今天（首页 + 今日计划 + 历史计划 合并页） */
/* 与设置页 / 成就页同一套：页头 + 大卡 + 左总览 + 右内容 */
#view-today.active{padding:2px 0 8px}
.today-shell{
  padding:20px;
  background:linear-gradient(145deg,var(--card,#fffaf3),color-mix(in srgb,var(--card,#fffaf3) 90%,var(--accent,#e25d3d) 10%));
  border:1px solid color-mix(in srgb,var(--line,#eadfd2) 74%,var(--accent,#e25d3d) 26%);
  border-radius:24px;
  box-shadow:0 18px 50px rgba(42,28,20,.08);
}
.today-hint{
  margin-top:10px;padding:7px 11px;border-radius:9px;
  background:color-mix(in srgb,var(--line,#eadfd2) 22%,transparent);
  color:var(--ink-2,#8a7768);font-size:11.5px;line-height:1.5;
  display:inline-flex;align-items:center;gap:6px;
}
.today-hint::before{content:"·";color:var(--accent,#e25d3d);font-weight:800;font-size:15px;line-height:1}
.today-main{display:flex;flex-direction:column;gap:14px}
.today-card{padding:18px}
.today-card-head{margin-bottom:12px}
.today-card-head h2{margin:2px 0 3px;font-size:18px;color:var(--ink,#2c241d);display:flex;align-items:center;gap:8px}
.today-card-head h2::before{content:"";width:4px;height:15px;border-radius:2px;background:var(--accent,#e25d3d);flex:none}
.today-card-head p{margin:0;font-size:12.5px;color:var(--ink-2,#8a7768);line-height:1.6}
.today-kicker{display:block;font-size:9px;font-weight:800;letter-spacing:.2em;color:var(--accent,#e25d3d);margin-bottom:2px}
/* ===== 左侧总览 ===== */
.today-side-head{padding:0 2px 12px}
.today-side-head span{display:block;font-size:9px;font-weight:800;letter-spacing:.2em;color:var(--accent,#e25d3d)}
.today-side-head b{display:block;margin-top:3px;font-size:19px;color:var(--ink,#2c241d);line-height:1.2}
.today-side-head em{display:block;margin-top:3px;font-style:normal;font-size:11px;color:var(--ink-2,#8a7768)}
.today-side-status{display:inline-flex;align-items:center;gap:6px;margin:0 2px 12px;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--line,#eadfd2);background:var(--card,#fffaf3);color:var(--ink-2,#8a7768)}
.today-side-status i{width:6px;height:6px;border-radius:50%;background:var(--ink-3,#a99a8c);flex:none}
.today-side-status.pill-draft{color:var(--accent-ink,#b23a2e);background:var(--green-soft,#ffede4);border-color:transparent}
.today-side-status.pill-draft i{background:var(--accent,#e25d3d)}
.today-side-status.pill-done{color:#3f7a4d;background:var(--green-soft,#eaf5ec);border-color:transparent}
.today-side-status.pill-done i{background:#5f9e6f}
.today-side-empty{padding:10px 2px;font-size:12px;color:var(--ink-3,#a99a8c)}
.today-side-menu{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.today-side-dish{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:10px;border:1px solid var(--line,#eadfd2);background:var(--card,#fffaf3)}
.today-side-dish.done{border-color:color-mix(in srgb,var(--accent,#e25d3d) 32%,var(--line,#eadfd2))}
.today-side-dish-name{font-size:13px;font-weight:700;color:var(--ink,#2c241d)}
.today-side-dish-meta{font-size:10.5px;color:var(--ink-2,#8a7768);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.today-side-actions{display:flex;flex-wrap:wrap;gap:6px;margin:0 2px 12px}
.today-side-actions .btn{flex:1;min-width:0}
.today-side-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 2px 8px;padding:10px 4px;border-top:1px dashed var(--line,#eadfd2);border-bottom:1px dashed var(--line,#eadfd2)}
.today-side-stats>div{display:flex;flex-direction:column;align-items:center;gap:1px}
.today-side-stats b{font-size:17px;line-height:1;color:var(--accent,#e25d3d);font-variant-numeric:tabular-nums}
.today-side-stats span{font-size:9.5px;color:var(--ink-2,#8a7768)}
.today-side-hint{margin:0 2px 10px;font-size:10.5px;color:var(--ink-3,#a99a8c);line-height:1.5}
.today-side-link{margin-left:2px}
/* ===== 主区：今日计划 ===== */
.today-plan-body .draw-grid{margin-top:0}
.today-plan-dishes .draw-grid{margin-top:0}
.today-plan-actions{justify-content:flex-end;margin-top:14px}
.today-plan-actions .btn{min-width:120px}
.today-history-bar{display:flex;justify-content:flex-end;margin:0 0 10px}
.today-history-card .history-calendar-card{padding:0;border:0;background:transparent;box-shadow:none}
.today-history-card .history-cal-head{margin-bottom:12px}
.today-history-card .history-cal-head h2{font-size:17px}
.today-calendar{margin-top:4px}
.today-calendar .cal-grid{gap:6px}
.today-history-stats .stat-grid{margin-bottom:2px}
.today-history-stats .history-top{margin-top:10px}
/* ===== 响应式：左侧单列堆叠，主区自适应 ===== */
@media (max-width:900px){
  #view-today.active{padding:0 0 8px}
  .today-shell{padding:14px;border-radius:18px;overflow:hidden}
  .today-main{min-width:0}
  /* 侧栏改成纵向堆叠，不再单行横排；菜单单独横向滑动 */
  .today-side{position:static;display:block!important;padding:12px;border-radius:14px;overflow:hidden}
  .today-side-head{padding:0 2px 8px}
  .today-side-status{margin:0 2px 10px}
  /* 手机端主区已有「今天的餐桌」，侧栏的菜名列表和“去菜谱”入口不再重复 */
  .today-side-menu,.today-side-link{display:none}
  .today-side-actions .btn{flex:1 1 46%;min-width:0}
}
@media (max-width:640px){
  .today-card{padding:14px}
  .today-shell{padding:12px}
  .today-plan-actions .btn{flex:1;min-width:0}
  /* 历史区工具条：换行而不是横向溢出 */
  .today-history-bar{display:block;overflow:visible}
  .today-history-bar .history-cal-controls{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}
  .today-history-card .history-cal-controls .history-cal-nav{flex:none}
  /* 日历格子收紧，7 列在 390px 内放得下 */
  .today-calendar .cal-grid{gap:3px}
  .today-calendar .cal-weekdays{gap:3px}
  .today-calendar .cal-day{min-height:46px;padding:5px 4px;border-radius:8px}
  .today-calendar .cal-num{font-size:12px}
  .today-calendar .cal-mark{font-size:9px;padding:1px 4px}
  .today-calendar .cal-weekdays span{font-size:10px}
}
@media (max-width:420px){
  .today-side-actions{flex-direction:column}
  .today-side-actions .btn{width:100%}
  .today-calendar .cal-day{min-height:42px}
  .today-calendar .cal-mark{display:none}
}
