.availability-grid{display:grid;grid-template-columns:60px repeat(7,minmax(44px,1fr));gap:12px;align-items:center;margin:24px 0;color:#17384a}.availability-day-head,.availability-band-head,.availability-corner{text-align:center;font-weight:700}.availability-slot{height:56px;min-width:44px;border:2px solid #b9c7c3;border-radius:10px;background:#fff;color:#073e30;font:inherit;font-size:18px;font-weight:700;cursor:pointer;touch-action:manipulation}.availability-slot[aria-pressed=true]{background:#00c18a;border-color:#008b63}.availability-check{visibility:hidden}.availability-slot[aria-pressed=true] .availability-check{visibility:visible}.availability-slot:focus-visible,.availability-save:focus-visible,.availability-retry:focus-visible{outline:3px solid #17384a;outline-offset:3px}.availability-slot:disabled{cursor:default;opacity:.6}.availability-mobile-day,.availability-mobile-band{display:none}.availability-save,.availability-retry{min-height:48px;padding:12px 20px;border:0;border-radius:10px;background:#00c18a;color:#073e30;font:inherit;font-weight:700;cursor:pointer}.availability-save:disabled{background:#e7eeeb;color:#52665e;cursor:default}.availability-summary{color:#008b63;font-weight:700}.availability-grid+ p{margin-top:16px}
@media(max-width:600px){.availability-grid{grid-template-columns:24px repeat(5,minmax(44px,1fr));gap:8px;overflow-x:auto;max-width:100%}.availability-corner{display:none}.availability-day-head{grid-column:1}.availability-day-head:nth-child(2){grid-row:2}.availability-day-head:nth-child(3){grid-row:3}.availability-day-head:nth-child(4){grid-row:4}.availability-day-head:nth-child(5){grid-row:5}.availability-day-head:nth-child(6){grid-row:6}.availability-day-head:nth-child(7){grid-row:7}.availability-day-head:nth-child(8){grid-row:8}.availability-band-head{grid-row:1}.availability-band-head{grid-column:var(--band);font-size:12px;min-width:0}.availability-slot{min-width:0;width:100%;min-height:44px}.availability-slot{grid-column:var(--band);grid-row:var(--day);height:48px}.availability-save{width:100%}}

.availability-slot:not(:disabled):hover{border-color:#008b63;background:#d9f9eb}.availability-slot[aria-pressed=true]:not(:disabled):hover{background:#00ad7c}.availability-save:not(:disabled):hover,.availability-retry:hover{background:#00ad7c}

.availability-band-head small{display:block;font-size:11px;font-weight:400;overflow-wrap:anywhere}.availability-band-head{min-width:0;overflow-wrap:anywhere}
