.btt-availability-app{
  max-width:960px;
  margin:20px auto;
  border:1px solid #dcdcde;
  border-radius:6px;
  background:#fff;
  color:#1d2327;
  overflow:hidden;
}
.btt-availability-app .screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.btt-availability-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px 14px;
}
.btt-availability-heading h2{margin:0;font-size:26px;line-height:1.2}
.btt-availability-eyebrow{margin:0 0 4px;color:#50575e;font-size:13px}
.btt-availability-submitted{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:2px 10px;
  border:1px solid #00a32a;
  border-radius:4px;
  color:#006b1b;
  background:#edfaef;
  font-weight:600;
  font-size:13px;
}
.btt-availability-tabs{
  display:flex;
  gap:0;
  padding:0 22px;
  border-bottom:1px solid #dcdcde;
}
.btt-availability-tabs button{
  appearance:none;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  color:#3c434a;
  padding:11px 14px 9px;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.btt-availability-tabs button[aria-selected="true"]{border-bottom-color:#2271b1;color:#135e96}
.btt-availability-tabs button:focus-visible{outline:2px solid #2271b1;outline-offset:2px}
.btt-availability-panel{padding:20px 22px 24px}
.btt-availability-panel[hidden]{display:none}
.btt-availability-panel h3{margin:0 0 6px;font-size:20px}
.btt-availability-panel>p{margin:0 0 18px;color:#50575e}
.btt-availability-maximum{
  display:grid;
  grid-template-columns:minmax(210px,auto) 76px;
  gap:5px 12px;
  align-items:center;
  margin-bottom:22px;
}
.btt-availability-maximum input{width:76px;min-height:38px}
.btt-availability-maximum small{grid-column:1/-1;color:#646970}
.btt-member-calendar{border:0;padding:0;margin:0 0 20px;min-width:0}
.btt-member-calendar legend{padding:0;margin-bottom:10px}
.btt-member-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(92px,1fr));
  gap:7px;
  min-width:720px;
}
.btt-member-calendar{overflow-x:auto;padding-bottom:6px}
.btt-member-calendar-weekday{text-align:center;color:#646970;font-size:12px;font-weight:600}
.btt-member-calendar-day{
  min-height:98px;
  padding:8px;
  border:1px solid #dcdcde;
  border-radius:4px;
  background:#f6f7f7;
  box-sizing:border-box;
}
.btt-member-calendar-day>strong{display:block;margin-bottom:6px;font-size:16px}
.btt-member-calendar-day label{
  display:flex;
  align-items:center;
  gap:5px;
  margin:4px 0;
  font-size:12px;
  cursor:pointer;
}
.btt-member-calendar-day input{margin:0}
.btt-week-preferences{overflow-x:auto;max-width:700px;margin:0 0 20px;border:1px solid #dcdcde;border-radius:4px}
.btt-week-row{
  display:grid;
  grid-template-columns:minmax(150px,1fr) repeat(var(--btt-moment-count),minmax(90px,.6fr));
  align-items:center;
  min-width:520px;
  border-bottom:1px solid #dcdcde;
}
.btt-week-row:last-child{border-bottom:0}
.btt-week-row>*{padding:9px 12px;text-align:center}
.btt-week-row>:first-child{text-align:left}
.btt-week-head{background:#f0f0f1;color:#3c434a;font-size:12px;font-weight:600}
.btt-availability-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border:1px solid #135e96;
  border-radius:4px;
  padding:7px 15px;
  background:#2271b1;
  color:#fff!important;
  text-decoration:none!important;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.btt-availability-button:hover,.btt-availability-button:focus-visible{background:#135e96;color:#fff}
.btt-availability-button-secondary{
  border-color:#646970;
  background:#fff;
  color:#2c3338!important;
}
.btt-availability-button-secondary:hover,.btt-availability-button-secondary:focus-visible{background:#f0f0f1;color:#1d2327!important}
.btt-availability-back{padding:0 22px 24px}
.btt-availability-readonly{opacity:.82}
.btt-availability-closed{
  border-left:4px solid #dba617;
  background:#fcf9e8;
  padding:10px 12px;
}
.btt-availability-closed p{margin:0}
.btt-admin-availability-editor{
  margin:18px 0;
  padding:16px;
  border:1px solid #c3c4c7;
  border-radius:4px;
  background:#fff;
}
.btt-admin-availability-editor h3{margin-top:0}
.btt-availability-notice,.btt-availability-message{
  margin:0 22px 14px;
  border-left:4px solid #00a32a;
  background:#edfaef;
  padding:10px 12px;
}
.btt-availability-message{margin:20px 0}
.btt-availability-error{border-left-color:#d63638;background:#fcf0f1}

@media (max-width:600px){
  .btt-availability-heading{align-items:flex-start;padding:16px 14px 12px}
  .btt-availability-heading h2{font-size:22px}
  .btt-availability-tabs{padding:0 8px;overflow-x:auto}
  .btt-availability-tabs button{white-space:nowrap;padding-left:10px;padding-right:10px}
  .btt-availability-panel{padding:16px 14px 20px}
  .btt-availability-back{padding:0 14px 20px}
  .btt-availability-maximum{grid-template-columns:1fr 72px}
  .btt-availability-notice{margin-left:14px;margin-right:14px}
}
