/* 五类工时计价本地增量样式；仅作用于 xp-* 与月度 xm-* 命名空间，不改全站主题。 */
.xp-hours-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: .5rem .75rem; min-width: 0; }
.xp-hours-field { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
.xp-hours-field input::placeholder { color: #64748b; opacity: 1; }
.xp-hours-hint { grid-column: 1 / -1; margin: .25rem 0 0; color: #92400e; font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; }
.dark .xp-hours-field { color: #cbd5e1; }
.dark .xp-hours-field input::placeholder { color: #94a3b8; }
.dark .xp-hours-hint { color: #fcd34d; }

.xm-root, .xm-overlay { --xp-holiday: #b42318; --xp-holiday-bg: #fdecea; --xp-makeup: #1d4ed8; --xp-makeup-bg: #e8effd; --xp-rest-bg: #f1eafb; }
.dark .xm-root, .dark .xm-overlay { --xp-holiday: #ffa59a; --xp-holiday-bg: #4a2228; --xp-makeup: #a9c6ff; --xp-makeup-bg: #1f3358; --xp-rest-bg: #33284c; }
.xp-holiday { color: var(--xp-holiday); font-weight: 650; }
.xm-card-holiday_overtime_hours strong { color: var(--xp-holiday); }
.xm-card-night_hours strong { color: var(--xm-muted); }
.xm-cards.xp-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.xm-matrix thead th.xp-date-statutory { background: var(--xp-holiday-bg); color: var(--xp-holiday); }
.xm-matrix thead th.xp-date-statutory small { color: var(--xp-holiday); }
.xm-matrix thead th.xp-date-makeup { color: var(--xm-ink); }
.xp-day-tag { display: inline-block; margin-top: 3px; padding: 0 5px; border-radius: 4px; font-size: 10px; font-style: normal; font-weight: 750; line-height: 16px; }
.xp-tag-makeup { background: var(--xp-makeup-bg); color: var(--xp-makeup); }
.xp-tag-rest { background: var(--xp-rest-bg); color: var(--xm-purple); }
.xp-tag-statutory { background: var(--xp-holiday); color: #fff; }
.dark .xp-tag-statutory { color: #2a0d10; }
.xp-legend-tags { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.xp-legend-tags .xp-day-tag { margin-top: 0; }
.xp-dialog-day { display: inline-block; margin-top: 6px !important; padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 650; }
.xp-dialog-day.xp-tag-statutory { background: var(--xp-holiday-bg); color: var(--xp-holiday); }
.xp-dialog-day.xp-tag-workday, .xp-dialog-day.xp-tag-unknown { color: var(--xm-muted); }
@media (max-width: 1280px) { .xm-cards.xp-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 980px) { .xm-cards.xp-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .xm-cards.xp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
