/* Производственный календарь — web-calculator.ru. Scoped под .pk. */
.pk { --pk-work:#ffffff; --pk-work-bd:#e6e9ee; --pk-text:#1a1a1a;
  --pk-weekend-bg:#f1f3f5; --pk-weekend-tx:#8a9098;
  --pk-holiday-bg:#ffe3e3; --pk-holiday-tx:#d6336c;
  --pk-short-bg:#fff3e0; --pk-short-tx:#b45309;
  --pk-accent:#111111; --pk-line:#e6e9ee; --pk-muted:#6b7280; }

/* Лид = обычный текст сайта (Unbounded 12px чёрный), без «блогового» крупного серого. */
.pk__lead { font-size:12px; line-height:1.58; color:#000; margin:0 0 12px; }

/* Контентная типографика как в .box.howto (мы в .box.pk и не наследуем её):
   заголовки нормального веса 400 (а не жирные 700), 12px текст, отступы для разделения секций/FAQ. */
.pk h2 { font-size:16px; font-weight:400; line-height:1.25; margin:24px 0 9px; color:#000; }
.pk h3 { font-size:13px; font-weight:600; line-height:1.4; margin:16px 0 3px; color:#000; }
.pk p  { font-size:12px; line-height:1.58; margin:0 0 8px; color:#000; }

/* ── Sticky toolbar ── */
.pk-toolbar { position:sticky; top:0; z-index:20; display:flex; flex-wrap:wrap; gap:8px;
  padding:10px 0; margin:0 0 16px; background:#fff; border-bottom:1px solid var(--pk-line); }
.pk-toolbar__btn { display:inline-flex; align-items:center; gap:6px; padding:9px 14px;
  border:1px solid var(--pk-accent); border-radius:10px; background:#fff; color:var(--pk-accent);
  font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; line-height:1; transition:.15s; }
.pk-toolbar__btn:hover { background:var(--pk-accent); color:#fff; }
.pk-toolbar__btn svg { width:16px; height:16px; }
.pk-toolbar__btn--primary { background:var(--pk-accent); color:#fff; }
.pk-toolbar__btn--primary:hover { opacity:.88; }

/* ── Якорная навигация ── */
.pk-anchors { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.pk-anchors a { font-size:13px; color:#374151; background:#f3f5f8; border:1px solid var(--pk-line);
  border-radius:999px; padding:5px 12px; text-decoration:none; }
.pk-anchors a:hover { background:#e9edf3; }

/* ── Легенда ── */
.pk-legend { display:flex; flex-wrap:wrap; gap:14px; margin:0 0 18px; font-size:13px; color:#374151; }
.pk-legend span { display:inline-flex; align-items:center; gap:7px; }
.pk-legend i { width:16px; height:16px; border-radius:4px; border:1px solid var(--pk-line); display:inline-block; }
.pk-legend .l-work { background:var(--pk-work); }
.pk-legend .l-short { background:var(--pk-short-bg); border-color:#f0c98a; }
.pk-legend .l-weekend { background:var(--pk-weekend-bg); }
.pk-legend .l-holiday { background:var(--pk-holiday-bg); border-color:#f3b8c6; }

/* ── Списки (праздники / источники) — глобальный ul-сброс сайта (list-style:none) их ломал ── */
.pk-list { list-style:none; margin:0 0 14px; padding:0; }
.pk-list li { position:relative; padding:6px 0 6px 18px; border-bottom:1px solid var(--pk-line); font-size:12px; line-height:1.58; }
.pk-list li:last-child { border-bottom:none; }
.pk-list--holidays li::before { content:""; position:absolute; left:2px; top:11px; width:7px; height:7px;
  border-radius:50%; background:var(--pk-holiday-tx); }
.pk-sources { list-style:none; margin:0 0 14px; padding:0; }
.pk-sources li { position:relative; padding:5px 0 5px 16px; font-size:12px; line-height:1.58; color:#374151; }
.pk-sources li::before { content:"—"; position:absolute; left:0; top:5px; color:var(--pk-muted); }

/* ── Кварталы и месяцы ── */
.pk-quarter { border:1px solid var(--pk-line); border-radius:14px; padding:14px; margin:0 0 16px; }
.pk-quarter__head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between;
  gap:8px; margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid var(--pk-line); }
.pk-quarter__num { font-weight:700; font-size:17px; }
.pk-quarter__sums { display:flex; flex-wrap:wrap; gap:14px; font-size:13px; color:#374151; }
.pk-quarter__sums b { color:var(--pk-text); }
.pk-muted { color:var(--pk-muted); }

.pk-months { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.pk-month { border:1px solid var(--pk-line); border-radius:10px; padding:10px; }
.pk-month__name { font-weight:700; font-size:15px; text-align:center; margin-bottom:8px; }

.pk-cal { width:100%; border-collapse:collapse; table-layout:fixed; }
.pk-cal th { font-size:11px; font-weight:600; color:var(--pk-muted); padding:3px 0; text-align:center; }
.pk-cal th.pk-cal__wd-off { color:var(--pk-holiday-tx); }
.pk-cal td { position:relative; text-align:center; font-size:13px; padding:5px 0; border-radius:6px;
  color:var(--pk-text); background:var(--pk-work); }
.pk-cal td.pk-cal__empty { background:transparent; }
.pk-cal td.is-weekend { background:var(--pk-weekend-bg); color:var(--pk-weekend-tx); }
.pk-cal td.is-holiday { background:var(--pk-holiday-bg); color:var(--pk-holiday-tx); font-weight:600; }
.pk-cal td.is-short { background:var(--pk-short-bg); color:var(--pk-short-tx); font-weight:600; }
.pk-cal__mark { font-size:10px; vertical-align:super; line-height:0; }

/* статистика месяца */
.pk-month__stats { display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:9px; padding-top:8px;
  border-top:1px dashed var(--pk-line); font-size:11.5px; color:#4b5563; }
.pk-st b { color:var(--pk-text); }
.pk-st--holiday b { color:var(--pk-holiday-tx); }
.pk-st--short b { color:var(--pk-short-tx); }

/* ── Таблица норм ── */
.pk-norms-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 10px; }
.pk-norms-toolbar__label { font-size:13px; color:#374151; }
.pk-wbtn { padding:6px 13px; border:1px solid var(--pk-accent); background:#fff; color:var(--pk-accent);
  border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; }
.pk-wbtn.is-active { background:var(--pk-accent); color:#fff; }
.pk-table-scroll { overflow-x:auto; }
.pk-norms { width:100%; border-collapse:collapse; font-size:12px; min-width:440px; }
.pk-norms th, .pk-norms td { border:1px solid var(--pk-line); padding:8px 10px; text-align:center; }
.pk-norms th:first-child, .pk-norms td.pk-norms__period { text-align:left; white-space:nowrap; }
.pk-norms thead th { background:#f7f9fc; font-weight:600; }
.pk-norms__q td { background:#f7f9fc; font-weight:600; }
.pk-norms__year td { background:#eef2f7; font-weight:700; }
/* подсветка активной недельной нормы */
.pk-norms td[data-w], .pk-norms th[data-w] { color:var(--pk-muted); }
.pk-norms[data-active-w="40"] [data-w="40"],
.pk-norms[data-active-w="36"] [data-w="36"],
.pk-norms[data-active-w="24"] [data-w="24"] { color:var(--pk-text); background:#eaf2ff; }
.pk-norms__q[data-active] {}

/* ── Интерактивный калькулятор периода ── */
.pk-calc__row { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:12px; }
.pk-calc__field { flex:1 1 200px; display:flex; flex-direction:column; gap:5px; }
.pk-calc__field label { font-size:13px; color:#374151; font-weight:600; }
.pk-calc__field input, .pk-calc__field select { height:46px; border:1px solid #cdd3db; border-radius:10px;
  padding:0 12px; font-size:15px; color:var(--pk-text); background:#fff; }
/* Кнопки-пресеты + «Рассчитать» в один ряд с переносом.
   id-скоуп #pk-calc перебивает глобальный .calculator-wrapper button (width:100%, height:64px). */
#pk-calc .pk-calc__chips { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:12px; }
#pk-calc .pk-calc__chip,
#pk-calc .pk-calc__go {
  width:auto; min-width:0; height:auto; min-height:0; flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center; line-height:1.2; cursor:pointer;
}
#pk-calc .pk-calc__chip {
  font-size:13px; padding:8px 14px; border:1px dashed #cdd3db; border-radius:999px;
  background:#fff; color:#374151; }
#pk-calc .pk-calc__chip:hover { border-color:var(--pk-accent); color:var(--pk-accent); }
#pk-calc .pk-calc__go {
  margin-left:4px; padding:9px 20px; font-size:14px; font-weight:600; border:none; border-radius:10px;
  background:var(--pk-accent); color:#fff; }
#pk-calc .pk-calc__go:hover { opacity:.9; }
@media (max-width:560px){
  #pk-calc .pk-calc__go { margin-left:0; }
}
.pk-calc__result { border:1px solid var(--pk-accent); border-radius:12px; padding:14px; background:#fff; }
.pk-calc__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin-bottom:10px; }
.pk-calc__metric { background:#f7f9fc; border:1px solid var(--pk-line); border-radius:10px; padding:10px 12px; }
.pk-calc__metric b { display:block; font-size:22px; line-height:1.1; }
.pk-calc__metric span { font-size:12.5px; color:var(--pk-muted); }
.pk-calc__hours { font-size:14px; color:#374151; }
.pk-calc__hours b { color:var(--pk-text); }
.pk-calc__err { color:var(--pk-holiday-tx); font-size:13.5px; }

/* ── Месячная: список норм + prev/next ── */
.pk-norm-list { margin:0 0 12px; padding-left:20px; }
.pk-norm-list li { margin:4px 0; }
.pk-prevnext { display:flex; justify-content:space-between; gap:10px; margin:10px 0 4px; }
.pk-prevnext a { font-size:14px; font-weight:600; color:var(--pk-accent); text-decoration:none;
  border:1px solid var(--pk-line); border-radius:10px; padding:9px 14px; }
.pk-prevnext a:hover { background:var(--pk-accent); color:#fff; }

/* ── Разводка/архив ── */
.pk-archive { display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 4px; }
.pk-archive a { display:inline-flex; align-items:center; gap:6px; padding:10px 16px; border-radius:10px;
  border:1px solid var(--pk-accent); color:var(--pk-accent); text-decoration:none; font-weight:600; font-size:14px; }
.pk-archive a.is-current { background:#eef2f7; border-color:var(--pk-line); color:#374151; cursor:default; }
.pk-archive a:not(.is-current):hover { background:var(--pk-accent); color:#fff; }
.pk-monthnav { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 0; }
.pk-monthnav a { font-size:13px; padding:5px 11px; border-radius:8px; background:#f3f5f8;
  border:1px solid var(--pk-line); color:#374151; text-decoration:none; }
.pk-monthnav a:hover { background:#e9edf3; }

/* ── Одиночный месяц (месячная страница) ── */
.pk-solo { display:flex; flex-wrap:wrap; gap:20px; align-items:flex-start; margin:0 0 18px; }
.pk-solo__cal { flex:1 1 360px; max-width:460px; border:1px solid var(--pk-line); border-radius:14px; padding:16px; }
.pk-solo__cal .pk-month__name { font-size:18px; margin-bottom:12px; }
.pk-solo__cal .pk-cal td { font-size:16px; padding:10px 0; }
.pk-solo__cal .pk-cal th { font-size:13px; padding:5px 0; }
.pk-solo__facts { flex:1 1 280px; }
.pk-solo__metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; margin-bottom:14px; }
.pk-metric { background:#f7f9fc; border:1px solid var(--pk-line); border-radius:10px; padding:12px 14px; }
.pk-metric b { display:block; font-size:26px; line-height:1.1; }
.pk-metric span { font-size:12.5px; color:var(--pk-muted); }
.pk-solo__norms { width:100%; border-collapse:collapse; font-size:12px; }
.pk-solo__norms th, .pk-solo__norms td { border:1px solid var(--pk-line); padding:9px 12px; text-align:left; }
.pk-solo__norms th { background:#f7f9fc; font-weight:600; }
.pk-solo__norms td { font-weight:600; white-space:nowrap; }

/* ── Информационная сноска о проекте (2027) — нейтральная, не алармистская ── */
.pk-draft { background:#eef4fb; border:1px solid #cfe0f1; border-left:3px solid #6b9fd4;
  border-radius:10px; padding:11px 14px; margin:0 0 16px; font-size:13.5px; line-height:1.55; color:#3a4a5e; }
.pk-draft b { color:#27384d; }

/* ── Адаптив ── */
@media (max-width:860px){
  .pk-months { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .pk-months { grid-template-columns:1fr; }
  .pk-month { max-width:340px; margin:0 auto; width:100%; }
  .pk-cal td, .pk-cal th { font-size:14px; }
  .pk-toolbar { gap:6px; }
  .pk-toolbar__btn { padding:8px 11px; font-size:13px; }
}

/* ── Печать ── */
@media print {
  header, .sidebar, .banner, footer, .social-section, .pk-toolbar, .pk-anchors,
  .pk-calc-section, .x-comments, .pre-footer, #feedback-form, .sidebar-layout,
  .breadcrumb, .author-byline, .pk-archive, .pk-monthnav, .pk-rating { display:none !important; }
  .pk-quarter, .pk-month, .pk-norms { break-inside:avoid; }
  .pk { color:#000; }
  body { background:#fff; }
  a[href]:after { content:""; }
  .pk-cal td.is-holiday { background:#ffe3e3 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .pk-cal td.is-weekend { background:#f1f3f5 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .pk-cal td.is-short { background:#fff3e0 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
