/* Производственный календарь (блок на кейсе «Рабочий календарь») */
.pk-wrap {
  margin: 2.5rem 0 1rem;
  color: #1f1a17;
}
.pk-wrap h2 {
  margin: 0 0 .75rem;
  line-height: 1.25;
}
.pk-wrap h3 {
  margin: 1.75rem 0 .75rem;
  font-size: 22px;
  line-height: 1.3;
}
.pk-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin: 0 0 1.25rem;
  font-size: 14px;
  color: #444;
}
.pk-legend span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.pk-swatch {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, .12);
  display: inline-block;
}
.pk-swatch.is-holiday { background: #f06060; }
.pk-swatch.is-weekend { background: #f3c4c4; }
.pk-swatch.is-pre { background: #ffe08a; }
.pk-swatch.is-nowork { background: #c4b5fd; }
.pk-swatch.is-work { background: #fff; }

.pk-quarter {
  margin: 0 0 1.75rem;
}
.pk-months {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 900px) {
  .pk-months { grid-template-columns: 1fr; }
}

.pk-month {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 12px;
  padding: .75rem .85rem 1rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}
.pk-month__title {
  margin: 0 0 .5rem;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}
.pk-month table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
}
.pk-month th {
  font-weight: 600;
  color: #666;
  padding: .2rem 0;
  text-align: center;
}
.pk-month td {
  text-align: center;
  padding: .28rem 0;
  border-radius: 6px;
  vertical-align: middle;
}
.pk-month td.is-holiday {
  background: #f06060;
  color: #fff;
  font-weight: 700;
}
.pk-month td.is-weekend {
  background: #f8d5d5;
  color: #8a2f2f;
}
.pk-month td.is-pre {
  background: #ffe08a;
  font-weight: 600;
}
.pk-month td.is-nowork {
  background: #ddd6fe;
  color: #4c1d95;
}
.pk-month td.is-empty { background: transparent; }
.pk-month td .pk-star {
  font-size: 10px;
  vertical-align: super;
  margin-left: 1px;
}

.pk-stats {
  width: 100%;
  border-collapse: collapse;
  margin: .85rem 0 0;
  font-size: 14px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 12px;
  overflow: hidden;
}
.pk-stats th,
.pk-stats td {
  padding: .45rem .65rem;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
  text-align: left;
}
.pk-stats th { background: #f7f7f7; font-weight: 600; }
.pk-stats tr:last-child th,
.pk-stats tr:last-child td { border-bottom: 0; }
.pk-stats .num { text-align: right; white-space: nowrap; }

.pk-note {
  margin: .75rem 0 0;
  font-size: 13px;
  color: #555;
}
.pk-status {
  margin: .5rem 0 1rem;
  font-size: 14px;
  color: #666;
}
.pk-status.is-error { color: #b91c1c; }
