.pc-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.pc-cal-wrap{position:relative;display:flex;align-items:center;gap:8px}
.pc-cal-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--navy);padding:0;transition:border-color .18s,color .18s,background .18s}
.pc-cal-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pc-cal-btn:hover,.pc-cal-btn[aria-expanded=true],.pc-cal-btn.has-date{border-color:var(--saffron);color:var(--saffron);background:var(--saffron-pale)}
.pc-cal-btn:focus-visible,.pc-cal-day:focus-visible,.pc-cal-nav:focus-visible,.pc-cal-clear:focus-visible{outline:3px solid rgba(184,108,34,.35);outline-offset:1px}
.pc-cal-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--saffron);background:var(--saffron-pale);color:var(--navy);border-radius:999px;padding:4px 6px 4px 11px;font:700 .72rem var(--body);white-space:nowrap}
.pc-cal-chip[hidden]{display:none}
.pc-cal-chip button{border:0;background:var(--navy);color:#fff;border-radius:50%;width:18px;height:18px;line-height:1;padding:0;font-size:.8rem}
.pc-cal-pop{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:300px;max-width:calc(100vw - 30px);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);padding:14px;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .18s,transform .18s,visibility .18s}
.pc-cal-pop.is-open{opacity:1;visibility:visible;transform:none}
.pc-cal-pop.is-above{top:auto;bottom:calc(100% + 8px)}
.pc-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pc-cal-title{font:700 1rem var(--display);color:var(--navy)}
.pc-cal-nav{width:30px;height:30px;border:1px solid var(--line);background:var(--paper);color:var(--navy);border-radius:3px;padding:0}
.pc-cal-nav:hover{border-color:var(--saffron);color:var(--saffron)}
.pc-cal-scope{margin:6px 0 10px;color:var(--ink-soft);font-size:.72rem;line-height:1.4}
.pc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;transition:opacity .2s}
.pc-cal-grid.is-loading{opacity:.45}
.pc-cal-dow{text-align:center;font:700 .6rem var(--mono);color:var(--ink-soft);padding:4px 0;text-transform:uppercase}
.pc-cal-day{position:relative;height:38px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--ink);padding:0;font-size:.82rem}
.pc-cal-day:hover{border-color:var(--saffron);background:var(--saffron-pale)}
.pc-cal-day.is-today{border-color:var(--navy)}
.pc-cal-day.is-selected{background:var(--navy);color:#fff;border-color:var(--navy)}
.pc-cal-day.has-count{font-weight:700}
.pc-cal-badge{position:absolute;top:1px;right:1px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--saffron);color:#fff;font:700 .58rem/15px var(--mono);text-align:center}
.pc-cal-badge:empty{background:transparent;min-width:0;padding:0}
.pc-cal-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:.72rem;color:var(--ink-soft)}
.pc-cal-clear{border:0;background:transparent;color:var(--saffron);font-weight:700;padding:2px}
.pc-cal-clear:disabled{opacity:.4;cursor:not-allowed}
.pc-cal-error{margin-top:8px;padding:8px;border:1px dashed var(--danger);color:var(--danger);font-size:.76rem;display:flex;justify-content:space-between;gap:8px;align-items:center}
.pc-cal-error button{border:1px solid var(--danger);background:transparent;color:var(--danger);border-radius:3px;padding:2px 8px}
@media(max-width:800px){.pc-controls{width:100%;justify-content:space-between}.pc-cal-pop{position:fixed;left:15px;right:15px;top:auto;bottom:15px;width:auto;max-width:none}.pc-cal-day{height:42px}}
@media(prefers-reduced-motion:reduce){.pc-cal-pop,.pc-cal-grid{transition:none}}
