.cth-calendar{color:var(--cth-ink);margin:22px 0}.cth-calendar-legend{flex-wrap:wrap;gap:14px;font-size:13px;font-weight:650;display:flex}.cth-calendar-legend span{align-items:center;gap:7px;display:flex}.cth-calendar-legend i{border-radius:7px;place-items:center;width:23px;height:23px;font-style:normal;display:inline-grid}.cth-calendar .is-available{color:#225c38;background:#e0f3e6;border-color:#b4d7bf}.cth-calendar .is-blocked{color:#963e34;background:#fde4df;border-color:#ecbbb2}.cth-site .cth-calendar-help{margin:14px 0;font-size:13px;line-height:1.65}.cth-calendar-controls{align-items:center;gap:8px;margin:18px 0 10px;display:flex}.cth-calendar-controls button{height:36px;color:var(--cth-ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #c6d7d0;border-radius:30px;flex:0 0 36px}.cth-calendar-controls button:disabled{opacity:1;color:var(--cth-muted);cursor:default;background:#e4e9df}.cth-calendar-controls select{text-align:center;width:100%;min-width:0;color:var(--cth-ink);font:inherit;background:0 0;border:0;padding:8px 0;font-weight:700}.cth-calendar-grid{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:100%;border:0!important;margin:0!important}.cth-calendar-grid th{color:var(--cth-muted);text-align:center;font-size:11px;font-weight:650;background:0 0!important;border:0!important;padding:3px 0 8px!important}.cth-calendar-grid td{text-align:center;background:0 0!important;border:0!important;padding:0!important}.cth-site .cth-calendar-day{cursor:pointer;border:1px solid;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:44px;padding:4px 0;font-size:14px;font-weight:650;line-height:1.15;display:flex;position:relative}.cth-site .cth-calendar-day.is-past{color:#59655e;cursor:default;background:#f1eee8;border-color:#0000}.cth-site .cth-calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--cth-teal)}.cth-site .cth-calendar:not(.cth-calendar--owner) .cth-calendar-day.is-selected,.cth-site .cth-calendar-day.is-endpoint{background:var(--cth-teal);border-color:var(--cth-teal);color:#fff}.cth-calendar-day:focus-visible{outline:3px solid var(--cth-ink);outline-offset:2px;z-index:1}.cth-calendar-dates{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 10px;display:grid}.cth-calendar-dates label{min-width:0;font-size:13px;font-weight:650;display:block}.cth-site .cth-calendar-dates input{width:100%;min-width:0;font:inherit;color:var(--cth-ink);background:#fff;border:1px solid #b8cec5;border-radius:14px;margin-top:6px;padding:10px 8px;display:block}.cth-calendar-feedback{justify-content:space-between;align-items:flex-start;gap:10px;min-height:40px;font-size:12px;line-height:1.6;display:flex}.cth-calendar-feedback p{margin:0}.cth-calendar-feedback button{text-underline-offset:3px;color:var(--cth-teal);font:inherit;white-space:nowrap;background:0 0;border:0;padding:0;text-decoration:underline}.cth-calendar [data-calendar-status].is-error{color:#963e34;font-weight:650}.cth-calendar-periods{margin-top:8px;font-size:12px}.cth-calendar-periods summary{cursor:pointer}.cth-calendar-periods ul{padding-left:20px}.cth-availability-owner-layout{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:start;gap:24px;margin:24px 0 40px;display:grid}.cth-availability-owner-layout .cth-calendar{margin-top:0}.cth-availability-owner-layout .cth-calendar-day{min-height:64px;font-size:18px}.cth-availability-actions{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.cth-availability-list form{border-top:1px solid #d2dfd6;margin-top:18px;padding-top:18px}.cth-availability-list strong{font-size:14px;display:block}.cth-availability-list button{font:inherit;color:var(--cth-teal);cursor:pointer;background:0 0;border:0;padding:8px 0}.cth-site .cth-request fieldset{min-width:0}@media (width<=850px){.cth-availability-owner-layout{grid-template-columns:1fr}.cth-availability-owner-layout .cth-calendar-day{min-height:54px}}@media (width<=380px){.cth-calendar-grid{border-spacing:2px}.cth-site .cth-calendar-day{min-height:40px;font-size:12px}.cth-calendar-dates{grid-template-columns:1fr}}.cth-calendar-date-check{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.cth-calendar--owner .cth-calendar-day:is(.is-selected,:has(input:checked)){box-shadow:inset 0 0 0 3px var(--cth-ink);border-color:var(--cth-ink)}.cth-calendar-day:has(input:focus-visible){outline:3px solid var(--cth-ink);outline-offset:2px}.cth-availability-actions .cth-button:disabled{color:var(--cth-muted);cursor:default;background:#e4e9df;border-color:#c6d7d0;transform:none}