.stay-calendar{margin:2rem 0;padding:1.4rem;border:1px solid #d9ded8;border-radius:16px;background:#fffefa}.stay-calendar h2{margin:0 0 .4rem}.calendar-intro{margin:.5rem 0 1rem;color:#53615a}.calendar-toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.calendar-toolbar h3{font:500 1.65rem Georgia,serif;margin:0 auto 0 0}.calendar-toolbar button{min-height:42px;padding:.5rem .8rem}.calendar-toolbar label{margin:0;font-size:.8rem}.calendar-toolbar input{font:inherit;min-height:42px;padding:.4rem;width:160px;border:1px solid #cbd0c6;border-radius:6px;background:white}.calendar-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0;font-size:.8rem}.legend-item{display:flex;gap:.4rem;align-items:center}.swatch{width:13px;height:13px;border-radius:3px;background:var(--event-bg,#eaf2e8);border:1px solid var(--event-border,#b0c8a6)}.airbnb{--event-bg:#fae6dd;--event-ink:#742f25;--event-border:#cf8c78}.vrbo{--event-bg:#e0eaf6;--event-ink:#234b78;--event-border:#83a5cc}.direct{--event-bg:#e6e0f0;--event-ink:#524071;--event-border:#afa0c6}.owner{--event-bg:#e9edcc;--event-ink:#415124;--event-border:#a6b678}.block{--event-bg:#e9e6e0;--event-ink:#5b5750;--event-border:#b8b2a7}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:.75rem;color:#53615a;text-align:center;padding:.6rem 0}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;border-top:1px solid #d9ded8}.calendar-day{border:0;border-right:1px solid #e4e7df;min-width:0;border-radius:0;background:#f7f6f1;padding:7px 8px;position:relative;text-align:left;color:#29342e;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;z-index:0;font:inherit}.calendar-day:first-child{border-left:1px solid #e4e7df}.calendar-day.available{background:#edf4e9}.calendar-day.unknown{background:repeating-linear-gradient(135deg,#f6f5f0,#f6f5f0 5px,#f0efe9 5px,#f0efe9 6px)}.calendar-day.other-month{opacity:.45}.calendar-day.selected{box-shadow:inset 0 0 0 2px #385648}.day-number{font-size:.85rem;line-height:18px;min-width:20px;text-align:center}.is-today .day-number{background:#344b3c;color:#fff;border-radius:50%}.day-state{font-size:.67rem;color:#536c49}.calendar-bar{z-index:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:1px 3px;border:1px solid var(--event-border);border-radius:5px;background:var(--event-bg);color:var(--event-ink);font:600 .72rem/1.3 system-ui,sans-serif;text-align:left;padding:3px 6px}.calendar-bar.continues-before{border-top-left-radius:0;border-bottom-left-radius:0}.calendar-bar.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.calendar-health{font-size:.85rem;color:#3d593b;margin:.5rem 0}.calendar-health.needs-check{color:#794d25;background:#f7ecdb;border-radius:7px;padding:.75rem}#day-detail{margin-top:1rem;padding:1rem;border-radius:10px;background:#f4f2eb}#day-detail h3{margin:0 0 .6rem;font-size:1.1rem}#day-detail p{margin:.4rem 0}#day-detail button{margin-top:.5rem}.date-event{border-left:3px solid var(--event-border);padding:.3rem .8rem;margin:.8rem 0;background:var(--event-bg);color:var(--event-ink);overflow-wrap:anywhere}.date-event .caption{font-size:.8rem}.stay-calendar button:focus-visible{outline:3px solid #a86439;outline-offset:2px;z-index:3}.calendar-footnote{font-size:.8rem;color:#53615a;margin:.8rem 0 0}@media(max-width:600px){.stay-calendar{padding:.8rem;margin:1.5rem -.25rem}.calendar-toolbar{gap:.4rem}.calendar-toolbar h3{width:100%;font-size:1.45rem;margin-bottom:.4rem}.calendar-toolbar input{width:142px}.calendar-day{padding:6px 2px}.calendar-bar{font-size:.62rem;padding:3px 4px;margin:1px}.calendar-legend{gap:.5rem .7rem;font-size:.72rem}#day-detail{padding:.8rem}}
