/* Календарь по месяцам (js/pages/partner-set-cal.js) — набор партнёра (_PartnerSet) и дни поста в мастере размещения: «‹ Октябрь 2026 ›»,
   дни недели, сетка; выбранное — заливкой (края диапазона ярче, будущий диапазон при наведении — светлее),
   мест нет — красным. */
.ps-cal{display:grid;grid-template-columns:repeat(7,minmax(0,34px));gap:3px}
.ps-cal__nav{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:6px}
.ps-cal__nav b{color:var(--text-heading);font-size:13px}
.ps-cal__go{width:28px;height:24px;padding:0;border:1px solid var(--border-hairline);border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.ps-cal__go:disabled{opacity:.3;cursor:default}
.ps-cal__w{font-size:10.5px;color:var(--text-muted);text-align:center}
.ps-cal__d{height:26px;padding:0;border:1px solid var(--border-hairline);border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.ps-cal__d:hover:not(:disabled){border-color:var(--accent)}
.ps-cal__d:disabled{opacity:.35;cursor:default}
.ps-cal__d.is-today{font-weight:700}
.ps-cal__d.is-full{background:rgba(237,66,69,.18);border-color:rgba(237,66,69,.6)}
.ps-cal__d.is-hover{background:color-mix(in srgb,var(--accent) 30%,transparent);border-color:var(--accent)}
.ps-cal__d.is-pick{background:color-mix(in srgb,var(--accent) 55%,transparent);border-color:var(--accent);color:#fff}
.ps-cal__d.is-edge{background:var(--accent)}
/* Выбран, но занят другим (место кончилось после выбора) — штриховка: день надо убрать. */
.ps-cal__d.is-pick.is-full{background:repeating-linear-gradient(135deg,rgba(237,66,69,.55) 0 4px,transparent 4px 8px);border-color:#ed4245}
/* Подпись к календарю: квадратик того же вида, что день, и что он значит. */
.ps-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;color:var(--text-muted);font-size:11.5px}
.ps-legend i{width:12px;height:12px;margin-left:6px;border:1px solid var(--border-hairline);border-radius:3px}
.ps-legend i:first-child{margin-left:0}
.ps-legend .is-pick{background:var(--accent);border-color:var(--accent)}
.ps-legend .is-full{background:rgba(237,66,69,.18);border-color:rgba(237,66,69,.6)}
/* Дни пинга поста (P2PSetCal.pings): плашки-переключатели по дням срока; выбранный — с колокольчиком цветом и своим временем рядом, чужой пинг — зачёркнут. */
.ps-pings{display:flex;flex-wrap:wrap;gap:4px;max-width:520px}
.ps-pingwrap{display:inline-flex;align-items:center;gap:4px}
.ps-pingtime{height:24px;padding:0 4px;border:1px solid #f5b83d;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:12px}
.ps-pingtime[hidden]{display:none}
.ps-pingday{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--border-hairline);border-radius:999px;font-size:12px;cursor:pointer;user-select:none}
.ps-pingday input{position:absolute;opacity:0;pointer-events:none}
.ps-pingday:has(input:checked){border-color:#f5b83d;color:#f5b83d;background:rgba(245,184,61,.1)}
.ps-pingday:has(input:checked)::before{content:"🔔";margin-right:4px}
.ps-pingday:has(input:focus-visible){outline:2px solid currentColor;outline-offset:1px}
.ps-pingday:has(input:disabled){opacity:.45;cursor:default}
.ps-pingday.is-busy{text-decoration:line-through}
.ps-pingday.is-busy:has(input:checked){border-color:#f87171;color:#f87171;background:rgba(248,113,113,.1)}
