.psy-owner-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.psy-month-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin:0 0 12px}
.psy-month-toolbar .psy-title{margin:0;font-size:clamp(16px,2vw,24px);text-transform:capitalize;white-space:nowrap}
.psy-app .psy-month-toolbar .psy-button{width:44px;min-height:44px;padding:0!important}
.psy-month-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:90px;padding:5px 1px;background:#fdfcf8;border:1px solid #d9dfd3;border-radius:9px;color:#394033;cursor:pointer;font:inherit}
.psy-month-day.is-today{background:#e0eec9;border-color:#315b38}
.psy-month-day.is-selected{box-shadow:inset 0 0 0 1px #315b38}
.psy-month-day.is-outside{opacity:.5}
.psy-month-number{font-weight:500}
.psy-month-dots{display:grid;grid-template-columns:repeat(6,4px);grid-template-rows:repeat(2,4px);gap:1px;min-height:9px;align-content:center;justify-content:center;align-items:center;justify-items:center;line-height:0}
.psy-month-dot,.psy-public-dot{display:block;box-sizing:content-box;border-radius:50%;width:4px;height:4px;min-width:4px;max-width:4px;min-height:4px;max-height:4px;border:0;padding:0;margin:0;flex:none;transform:none;line-height:0}
.psy-month-dot.is-free,.psy-legend-free{background-color:#a0d92e}.psy-month-dot.is-online{background:#226feb}.psy-month-dot.is-office{background:#913fcd}.psy-month-dot.is-empty{background:#e0e3de}.psy-month-dot.is-past{background:#aaaeaa}
.psy-calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:.8em!important}
.psy-legend-free{color:#627f19;background:none}.psy-legend-online{color:#226feb}.psy-legend-office{color:#913fcd}
.psy-owner-timeline{display:grid;gap:6px}
.psy-hour-row{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:52px;border:1px solid #d6dece;border-radius:9px;padding:10px;text-align:left;color:#394033;font:inherit;font-size:.88em;cursor:pointer;background:#f9f9f5}
.psy-hour-row span{overflow-wrap:anywhere}.psy-hour-row.is-free{background:#eff7da}.psy-hour-row.is-online{background:#e8f2ff}.psy-hour-row.is-office{background:#f3ebfb}
.psy-hour-row:focus-visible,.psy-month-day:focus-visible{outline:2px solid #315b38;outline-offset:2px}
.psy-hour-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:4px}
.psy-hour-options legend{grid-column:1/-1}
.psy-app .psy-calendar__grid > .psy-day{overflow:hidden}
.psy-public-dots{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1px;width:29px;max-width:100%;min-height:4px;margin:3px auto 0;line-height:0}
.psy-public-dot{background:#d4ad25}
.psy-calendar__grid .psy-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
@media(max-width:540px){.psy-month-day{min-height:70px}.psy-owner-month{gap:2px}.psy-calendar-legend{gap:6px 12px}.psy-hour-row{grid-template-columns:48px minmax(0,1fr);padding:8px;gap:6px}}

.psy-public-month-range{margin:.35em 0 .65em;text-align:center;font-weight:600;text-transform:capitalize}
.psy-public-month-marker{display:block;font-size:.67em;line-height:1.1}

.psy-date-times{box-sizing:border-box;width:min(100%,490px);margin:10px auto;padding:8px;background:#eef1e8;border-radius:10px}
.psy-date-times > p{margin:2px 0 5px!important}
.psy-date-times .psy-times{margin:0;gap:6px}
.psy-app .psy-date-times .psy-slot{flex:0 0 86px;min-width:0;max-width:100%;min-height:44px;padding-inline:4px;font-size:.9em;white-space:nowrap}
.psy-video-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,32rem);margin-inline:auto}
.psy-video-option{display:grid;justify-items:center;align-content:center;gap:3px;min-width:0;min-height:84px;padding:6px 3px;border:1px solid #9aab94;border-radius:12px;background:#f6f4ee;color:inherit;font:inherit;font-size:clamp(12px,2.8vw,15px);line-height:1.15;cursor:pointer}
.psy-video-option[aria-pressed="true"]{background:#cedec3;border-color:#55715a}
.psy-video-option:focus-visible{outline:2px solid #315b38;outline-offset:2px}
.psy-video-option img{display:block;width:28px;height:28px;object-fit:contain}
.psy-video-preferred{min-height:1em;font-size:.78em}
@media(max-width:540px){.psy-video-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:18rem}}
