#postCalendarRoot {margin:20px 0;color:var(--ui-text)}
.pc-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:20px}
.pc-post{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;padding:16px;color:var(--ui-text);cursor:pointer}
.pc-post span{font-size:16px;font-weight:650}.pc-post small{color:var(--ui-muted)}
.pc-post.is-selected{border-color:var(--ui-accent);box-shadow:inset 0 3px var(--ui-accent)}
.pc-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0}.pc-toolbar h3{text-transform:capitalize;margin:0 0 5px}.pc-toolbar small{color:var(--ui-muted)}
.pc-layout{display:grid;grid-template-columns:minmax(380px,1.3fr) minmax(300px,1fr);gap:24px;align-items:start}
.pc-weekdays,.pc-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.pc-weekdays{color:var(--ui-muted);text-align:center;margin-bottom:8px;font-size:12px}
.pc-day{position:relative;min-height:94px;padding:10px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text);cursor:pointer}
.pc-day b{font-size:17px}.pc-day small{font-size:10px;white-space:normal;text-align:left}.pc-day>i{position:absolute;right:8px;color:var(--ui-accent)}
.pc-day.is-selected{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.pc-day[aria-current=date] b{text-decoration:underline;text-underline-offset:4px}.pc-day:hover{border-color:var(--ui-accent)}
.pc-day.is-closed{background:var(--ui-input);color:var(--ui-muted)}
.pc-day-bar{display:flex;gap:1px;height:4px;width:100%}.pc-day-bar i{flex:1;background:currentColor;border-radius:1px}
.pc-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin:12px 0 20px}
.pc-open{color:var(--ui-accent)}.pc-busy{color:var(--ui-purple)}.pc-closed{color:var(--ui-muted)}.pc-past{color:var(--ui-dim);opacity:.7}
.pc-editor{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;padding:20px}.pc-editor h3{margin:0 0 6px}.pc-editor fieldset{border:0;padding:0;margin:0;min-width:0}
.pc-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.pc-hours label{display:flex;flex-direction:column;gap:7px;font-size:12px}.pc-hours input{width:100%;min-width:0}
.pc-enable{display:flex;align-items:center;gap:10px;font-size:13px}.pc-enable input{width:16px!important;height:16px;accent-color:var(--ui-accent-solid)}
.pc-edit-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.pc-slot{display:flex;flex-direction:column;gap:6px;padding:9px 4px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-input);cursor:pointer;font-size:11px}.pc-slot b{font-variant-numeric:tabular-nums;font-weight:600}.pc-slot small{font-size:10px}.pc-slot.is-blocked{border-style:dashed}.pc-slot:disabled{cursor:default}.pc-slot.pc-busy{border-color:var(--ui-purple-border)}
.pc-warning{padding:10px;border:1px solid var(--ui-warning-border);border-radius:8px;background:var(--ui-warning-soft);font-size:12px;line-height:1.5}
.pc-actions{display:flex;gap:8px;flex-wrap:wrap}.pc-actions .btn{font-size:12px}.pc-message{min-height:20px;font-size:13px;color:var(--ui-accent)}.pc-message.is-error{color:var(--ui-danger)}
.pc-tooltip{position:fixed;width:min(330px,calc(100vw - 16px));max-height:300px;overflow:auto;padding:14px;background:var(--ui-surface);border:1px solid var(--ui-border-strong);border-radius:12px;box-shadow:0 12px 32px #0008;z-index:2000;pointer-events:none;font-size:12px}.pc-tooltip[hidden]{display:none}.pc-tooltip p{color:var(--ui-muted)}.pc-mini-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:10px}
@media(max-width:1100px){.pc-layout{grid-template-columns:1fr}.pc-edit-slots{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:600px){.pc-toolbar{flex-wrap:wrap}.pc-posts{grid-template-columns:1fr}.pc-day{min-height:85px;padding:8px 3px}.pc-day small{font-size:9px}.pc-days{gap:3px}.pc-edit-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.pc-editor{padding:14px}}

.pc-day.is-weekend{background:color-mix(in srgb,var(--ui-info-soft) 58%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-info-border) 62%,var(--ui-border))}.pc-day.is-weekend.is-selected{background:var(--ui-accent-soft);border-color:var(--ui-accent)}.pc-interval-field{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;font-size:12px}.pc-interval-field select{max-width:150px}
.pc-slot.pc-open{background:color-mix(in srgb,var(--ui-accent-soft) 78%,var(--ui-input));border-color:var(--ui-accent);color:var(--ui-accent)}
.pc-slot.pc-open:hover:not(:disabled){filter:brightness(1.12)}
.pc-slot.pc-busy{background:var(--ui-danger-soft);border-color:var(--ui-danger-border);color:var(--ui-danger)}
.pc-slot.pc-closed{background:var(--ui-input);border-color:var(--ui-border);color:var(--ui-muted)}
.pc-slot:disabled{opacity:.78}

.pc-post-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ui-text);
  min-height: 40px;
  padding: 6px 10px;
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 8px;
}
