/* Shared stay calendar: one month, OwlTing-style. */
.pm-range{position:fixed;inset:0;z-index:1000;display:flex;align-items:stretch;justify-content:center}
.pm-range[hidden]{display:none!important}
.pm-range-back{position:absolute;inset:0;background:rgba(22,53,84,.45)}
.pm-range-sheet{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;box-sizing:border-box;background:#fff;padding:10px 16px 16px;overflow:auto;overscroll-behavior:contain;animation:pmRangeUp .22s ease}
.pm-range-top{display:flex;justify-content:flex-end;align-items:center;min-height:44px}
.pm-range button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.pm-range-x{width:44px;height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#163554;font-size:32px;line-height:1}
.pm-range-heads{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:0 0 12px}
.pm-range-box{display:block;width:100%;margin:0;text-align:left;border:1px solid #d5dee8;border-radius:12px;background:#fff;color:#163554;padding:8px 12px;min-height:58px}
.pm-range-box span{display:block;font-size:13px;font-weight:700;color:#64748b}
.pm-range-box strong{display:block;margin-top:2px;font-size:18px;font-weight:800;color:#163554}
.pm-range-box.is-on{border-color:#0e3a78;box-shadow:0 0 0 3px rgba(14,58,120,.16)}
.pm-range-dash{font-weight:800;color:#8aa0b4}
.pm-range-card{border:1px solid #d5e3ef;border-radius:16px;padding:6px 8px 10px}
.pm-range-bar{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:48px}
.pm-range-title{flex:1;text-align:center;font-size:22px;font-weight:800;color:#163554;border-radius:8px}
.pm-range-title.is-hit{animation:pmRangeHit .35s ease}
.pm-range-prev,.pm-range-next{flex:0 0 auto;width:48px;height:48px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#163554;font-size:34px;line-height:1}
.pm-range-prev[disabled],.pm-range-next[disabled]{color:#b7c3ce;background:#f3f5f7;opacity:.45;cursor:default}
.pm-range-week,.pm-range-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.pm-range-week span{text-align:center;color:#8aa0b4;font-size:15px;font-weight:700;padding:6px 0}
.pm-range-pad{min-height:44px}
.pm-range-day{position:relative;width:100%;min-height:46px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#163554;font-weight:800;font-size:16px;box-shadow:none}
.pm-range-day b{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 auto;border-radius:999px}
.pm-range-day.is-off,.pm-range-day.is-off b{color:#c5cdd4;font-weight:600}
.pm-range-day.is-mid{background:#d6ebfa}
.pm-range-day.is-start.is-bar{background:linear-gradient(90deg,transparent 50%,#d6ebfa 50%)}
.pm-range-day.is-end.is-bar{background:linear-gradient(90deg,#d6ebfa 50%,transparent 50%)}
.pm-range-day.is-start b,.pm-range-day.is-end b{background:#0e3a78;color:#fff}
.pm-range-day:not(.is-off):active b{transform:scale(.94)}
.pm-range-grid.is-next{animation:pmRangeNext .2s ease}
.pm-range-grid.is-prev{animation:pmRangePrev .2s ease}
.pm-range-nights{min-height:1.4em;margin:10px 0 0;text-align:center;font-weight:800;color:#163554}
.pm-range-hint{margin:8px 0 0;text-align:center;font-size:13px;color:#5d6b66}
.pm-range-go{width:100%;min-height:52px;margin:12px 0 0;border:0;border-radius:10px;background:#2ea2dc;color:#fff;font-size:20px;font-weight:800}
.pm-range-go[disabled]{background:#c5d0d8;color:#fff;cursor:default}
#stayOpen[aria-expanded="true"]{border-color:#0e3a78;box-shadow:0 0 0 3px rgba(14,58,120,.18)}
@keyframes pmRangeUp{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@keyframes pmRangeHit{from{background:#d6ebfa}to{background:transparent}}
@keyframes pmRangeNext{from{opacity:.25;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes pmRangePrev{from{opacity:.25;transform:translateX(-18px)}to{opacity:1;transform:none}}
@media(min-width:800px){
  .pm-range{align-items:center;padding:24px}
  .pm-range-sheet{height:auto;width:min(420px,92vw);max-height:calc(100% - 48px);border-radius:18px;box-shadow:0 18px 50px rgba(22,53,84,.22);animation:none}
  .pm-range-go{margin-top:12px}
}
@media(max-width:799px){
  .pm-range-sheet{padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .pm-range-go{margin-top:auto}
}
@media(prefers-reduced-motion:reduce){
  .pm-range-sheet,.pm-range-title.is-hit,.pm-range-grid.is-next,.pm-range-grid.is-prev{animation:none}
}
.pm-range-board{position:static;background:#fff}
.pm-range-board .pm-range-modes,.pm-range-board .pm-range-acts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.pm-range-board .pm-range-mode,.pm-range-board .pm-range-act{flex:1 1 30%;min-height:44px;border:1px solid #d5dee8;border-radius:10px;background:#eef2f7;color:#163554;font-weight:800;font-size:15px}
.pm-range-board .pm-range-mode.is-on,.pm-range-board .pm-range-act:not(.alt){background:#163554;color:#fff;border-color:#163554}
.pm-range-board .pm-range-act.alt{background:#fff;color:#163554}
.pm-range-board .pm-range-act[disabled],.pm-range-board .pm-range-mode[disabled]{opacity:.45}
.pm-range-board .pm-range-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;background:transparent;color:#163554}
.pm-range-board .pm-range-day small{position:relative;z-index:1;display:block;max-width:100%;margin-top:1px;font-size:9px;font-weight:800;line-height:1.15;text-align:center}
.pm-range-board .pm-range-day.is-open b{background:#fff;color:#163554;box-shadow:inset 0 0 0 1px #d5e3ef}
.pm-range-board .pm-range-day.is-busy b{background:#e6dfd2;color:#6b6256}
.pm-range-board .pm-range-day.is-self b,.pm-range-board .pm-range-day.is-start b,.pm-range-board .pm-range-day.is-end b{background:#163554;color:#fff}
.pm-range-board .pm-range-day.is-pick b{box-shadow:0 0 0 3px #c4a15a}
.pm-range-board .pm-range-day.is-busy{color:#6b6256}
.pm-range-board .pm-range-day.is-off,.pm-range-board .pm-range-day.is-off small{color:#b7ad9c}
.pm-range-board .pm-range-legend{margin:8px 0 0;font-size:12px;font-weight:700;color:#5f6b7a;text-align:center}
.pm-cal-key{display:flex;flex-wrap:wrap;gap:6px 12px;margin:8px 0 0;padding:0;list-style:none;font-size:13px;font-weight:700;color:#3d4a55;line-height:1.3}
.pm-cal-key li{display:flex;align-items:center;gap:6px}
.pm-cal-key i{width:14px;height:14px;border-radius:4px;display:inline-block;flex:0 0 14px}
.pm-cal-key i.k-self{background:#163554}
.pm-cal-key i.k-open{background:#fff;box-shadow:inset 0 0 0 1px #9db0c2}
.pm-cal-key i.k-busy{background:#e6dfd2}
.pm-cal-key i.k-off{background:#f3f0ea;box-shadow:inset 0 0 0 1px #d5cbb8}
.pm-cal-toast{margin:8px auto 0;width:fit-content;background:#e7f6ee;color:#1d4f48;font-weight:800;font-size:13px;border-radius:999px;padding:4px 12px}
.pm-cal-toast[hidden]{display:none!important}
