/* FXDog · 财经日历（calendar.html）
   桌面：按日期分组的表格；≤720px：日期分组的事件卡片 */
.cal-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);margin:var(--sp-6) 0 var(--sp-4)}
.cal-filter{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-14)}
.cal-filter select{width:auto;min-width:140px}
.cal-toolbar .meta-line{margin:0 0 0 auto;font-size:var(--fs-14);color:var(--muted);font-variant-numeric:tabular-nums}

.cal-table{min-width:760px}
.cal-table th:nth-child(1),.cal-table td.cal-time{width:84px}
.cal-table th:nth-child(3),.cal-table td.cal-cur{width:84px}
.cal-table th:nth-child(4),.cal-table td.cal-impact{width:84px}
.cal-table .num{width:96px}
.cal-table tr.cal-day th{padding:var(--sp-3) var(--sp-4);background:var(--panel-2);border-bottom:1px solid var(--border);text-align:left;font-size:var(--fs-14);font-weight:600;color:var(--text-strong)}
.cal-table tbody tr.cal-day:hover th{background:var(--panel-2)}
.cal-day-count{margin-left:var(--sp-3);font-weight:400;font-size:var(--fs-12);color:var(--muted)}
.cal-today{display:inline-flex;margin-left:var(--sp-2);padding:1px var(--sp-2);border-radius:var(--r-sm);background:var(--primary-soft);color:var(--primary-text);font-size:var(--fs-12);font-weight:600}
.cal-time time{font-family:var(--font-mono);font-size:var(--fs-14);color:var(--text)}
.cal-event b{font-weight:500;color:var(--text-strong)}
.cal-src{display:inline-flex;margin-left:var(--sp-1);padding:0 4px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:10px;line-height:16px;color:var(--subtle);vertical-align:1px}
.cal-ccy{font-family:var(--font-mono);font-weight:600;font-size:var(--fs-14);color:var(--text)}
.cal-actual{font-weight:600;color:var(--text-strong)}
.cal-row.cal-impact-high td:first-child{box-shadow:inset 3px 0 0 var(--down)}
.cal-row.cal-impact-medium td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.impact{min-width:40px;justify-content:center}
#pagination{margin-top:var(--sp-5)}

@media (max-width:720px){
  .cal-toolbar{flex-direction:column;align-items:stretch}
  .cal-toolbar .segmented{width:100%}
  .cal-toolbar .segmented>button{flex:1}
  .cal-filter select{flex:1}
  .cal-toolbar .meta-line{margin:0}

  .cal-table-wrap{border:0;background:none;overflow:visible}
  .cal-table{min-width:0;display:block}
  .cal-table thead{display:none}
  .cal-table tbody{display:flex;flex-direction:column;gap:var(--sp-2)}
  .cal-table tr{display:block}
  .cal-table tr.cal-day{margin-top:var(--sp-4)}
  .cal-table tr.cal-day:first-child{margin-top:0}
  .cal-table tr.cal-day th{display:flex;align-items:center;gap:var(--sp-2);white-space:nowrap;position:sticky;top:var(--header-h);z-index:2;padding:var(--sp-2) var(--sp-1);background:var(--bg);border:0}
  .cal-table tr.cal-day th .cal-day-count{margin-left:auto}
  .cal-table tr.cal-day th .cal-today{margin-left:0}
  .cal-table tr.cal-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"time cur . . . impact" "event event event event event event" "prev prev fc fc act act";gap:var(--sp-2) var(--sp-3);padding:var(--sp-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md)}
  .cal-table tr.cal-row td{display:block;width:auto;padding:0;border:0;background:none;text-align:left}
  .cal-table tbody tr.cal-row:hover td{background:none}
  .cal-row td.cal-time{grid-area:time}
  .cal-row td.cal-cur{grid-area:cur;align-self:center;padding-left:var(--sp-1)}
  .cal-row td.cal-impact{grid-area:impact;justify-self:end}
  .cal-row td.cal-event{grid-area:event;font-size:var(--fs-16);line-height:1.5}
  .cal-row td.num{padding-top:var(--sp-2);text-align:left;border-top:1px solid var(--border);font-size:var(--fs-14)}
  .cal-row td.num:nth-child(5){grid-area:prev}
  .cal-row td.num:nth-child(6){grid-area:fc}
  .cal-row td.num:nth-child(7){grid-area:act}
  .cal-row td.num::before{content:attr(data-label);display:block;font-size:var(--fs-12);color:var(--muted);font-weight:400;margin-bottom:2px}
  .cal-row.cal-impact-high td:first-child,.cal-row.cal-impact-medium td:first-child{box-shadow:none}
  .cal-row.cal-impact-high{border-left:3px solid var(--down)}
  .cal-row.cal-impact-medium{border-left:3px solid var(--warn)}
  .cal-table .fx-state-row,.cal-table .fx-state-row td{display:block;padding:0;border:0}
  .cal-table .fx-skeleton-row{display:block;padding:var(--sp-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md)}
  .cal-table .fx-skeleton-row td{display:block;padding:var(--sp-1) 0;border:0}
  .cal-table .fx-skeleton-row td:nth-child(n+4){display:none}
}

/* ===== v3：影响等级恢复原版配色（高 #ef4444 / 中 #f59e0b / 低 #22c55e / 假日 #8b5cf6 / 无 #9aa8c3） ===== */
.pill.impact{background:color-mix(in srgb,var(--impact-low) 14%,transparent);color:var(--impact-low);border-color:transparent}
.pill.impact.badge-down{background:color-mix(in srgb,var(--impact-high) 14%,transparent);color:var(--impact-high)}
.pill.impact.badge-warn{background:color-mix(in srgb,var(--impact-medium) 14%,transparent);color:var(--impact-medium)}
.pill.impact.badge-info{background:color-mix(in srgb,var(--impact-holiday) 14%,transparent);color:var(--impact-holiday)}
.cal-impact .pill:not(.impact){background:color-mix(in srgb,var(--impact-none) 14%,transparent);color:var(--impact-none)}
.cal-row.cal-impact-high td:first-child{box-shadow:inset 3px 0 0 var(--impact-high)}
.cal-row.cal-impact-medium td:first-child{box-shadow:inset 3px 0 0 var(--impact-medium)}
@media (max-width:720px){.cal-row.cal-impact-high{border-left-color:var(--impact-high)}.cal-row.cal-impact-medium{border-left-color:var(--impact-medium)}}

/* ===== v4：工具栏与表格保持平面、紧凑，日期分组行用原版次级面板色 ===== */
@media (min-width:721px){
  .cal-table tr.cal-day th{padding:10px 16px;background:var(--panel-2);font-size:var(--fs-14)}
  .cal-table td:first-child,.cal-table th:first-child{padding-left:16px}
}
.cal-ccy{font-family:var(--font-mono)}
.pill.impact{min-width:40px;border-radius:var(--r-sm)}
