/* Vchat 0.36.79 — independent calendar availability */

.vchat-booking-settings-079{
  display:grid!important;
  gap:16px!important;
}
.vchat-booking-settings-context{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:18px 20px!important;
  border:1px solid #dcd5ee!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f3efff 0%,#fbfaff 100%)!important;
}
.vchat-booking-settings-context>div{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
.vchat-booking-settings-context small{
  color:#6554b8!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
}
.vchat-booking-settings-context strong{
  color:#2b263f!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
.vchat-booking-settings-context span{
  color:#7c7588!important;
  font-size:10px!important;
  line-height:1.45!important;
}
.vchat-booking-settings-context label{
  display:grid!important;
  gap:6px!important;
  flex:0 0 260px!important;
  color:#625b70!important;
  font-size:9px!important;
  font-weight:850!important;
}
.vchat-booking-settings-context select{
  min-height:42px!important;
  padding:0 12px!important;
  border:1px solid #d9d2e7!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#302a45!important;
}
.vchat-booking-settings-tabs{
  display:flex!important;
  gap:6px!important;
  padding:5px!important;
  border:1px solid #e1dceb!important;
  border-radius:14px!important;
  background:#f6f3fb!important;
}
.vchat-booking-settings-tabs button{
  min-height:38px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#777084!important;
  font-size:10px!important;
  font-weight:850!important;
  box-shadow:none!important;
  outline:0!important;
}
.vchat-booking-settings-tabs button.is-active{
  background:#fff!important;
  color:#5948a1!important;
  box-shadow:0 1px 8px rgba(48,38,78,.08)!important;
}
.vchat-booking-settings-pane[hidden]{display:none!important}
.vchat-booking-settings-intro.is-design{margin-top:22px!important;padding-top:20px!important;border-top:1px solid #ece8f1!important}

/* Exceptions */
.vchat-booking-exceptions-list{
  display:grid!important;
  gap:10px!important;
}
.vchat-booking-no-exceptions{
  padding:24px!important;
  border:1px dashed #ddd7e8!important;
  border-radius:13px!important;
  background:#fbfafd!important;
  color:#8a8394!important;
  font-size:10px!important;
  text-align:center!important;
}
.vchat-booking-exception-row{
  display:grid!important;
  grid-template-columns:150px 190px minmax(260px,1fr) minmax(180px,1fr) 40px!important;
  gap:10px!important;
  align-items:end!important;
  padding:12px!important;
  border:1px solid #e3deec!important;
  border-radius:13px!important;
  background:#fff!important;
}
.vchat-booking-exception-row label,
.vchat-booking-exception-times label{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
  color:#746d81!important;
  font-size:8.5px!important;
  font-weight:850!important;
}
.vchat-booking-exception-row input,
.vchat-booking-exception-row select{
  width:100%!important;
  min-height:40px!important;
  border:1px solid #ddd7e8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#2d2840!important;
}
.vchat-booking-exception-times{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.vchat-booking-exception-times[hidden]{display:none!important}
.vchat-booking-exception-remove{
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  border:1px solid #ead9de!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#a84a5e!important;
  box-shadow:none!important;
}
.vchat-booking-add-exception{
  margin-top:12px!important;
  min-height:40px!important;
  padding:0 14px!important;
  border:1px solid #d9d1ec!important;
  border-radius:10px!important;
  background:#f7f4ff!important;
  color:#5948a1!important;
  font-size:10px!important;
  font-weight:850!important;
  box-shadow:none!important;
}

/* Calendar manager table */
.vchat-calendar-manager-079{
  display:grid!important;
  gap:16px!important;
}
.vchat-calendar-table-wrap{
  width:100%!important;
  overflow:auto!important;
  border:1px solid #e1dceb!important;
  border-radius:16px!important;
  background:#fff!important;
}
.vchat-calendar-table{
  width:100%!important;
  min-width:1050px!important;
  border-collapse:collapse!important;
}
.vchat-calendar-table th{
  padding:12px 14px!important;
  border-bottom:1px solid #e8e4ef!important;
  background:#faf9fd!important;
  color:#7a7386!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-align:left!important;
  text-transform:uppercase!important;
}
.vchat-calendar-table td{
  padding:14px!important;
  border-bottom:1px solid #eeeaf3!important;
  vertical-align:middle!important;
  color:#332d46!important;
  font-size:10px!important;
}
.vchat-calendar-table tr:last-child td{border-bottom:0!important}
.vchat-calendar-name-cell{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:220px!important;
}
.vchat-calendar-name-cell>div{
  display:grid!important;
  gap:3px!important;
}
.vchat-calendar-name-cell strong{
  font-size:11px!important;
  color:#2d2840!important;
}
.vchat-calendar-name-cell small,
.vchat-calendar-table td small{
  display:block!important;
  color:#8a8394!important;
  font-size:8.5px!important;
  line-height:1.4!important;
}
.vchat-calendar-name-cell em{
  color:#6554b8!important;
  font-size:8px!important;
  font-style:normal!important;
}
.vchat-calendar-availability-summary{
  display:block!important;
  max-width:360px!important;
  color:#5e576b!important;
  font-size:8.5px!important;
  line-height:1.5!important;
}
.vchat-calendar-state{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  font-size:8px!important;
  font-weight:900!important;
}
.vchat-calendar-state.is-active{background:#ecf9f1!important;color:#23734a!important}
.vchat-calendar-state.is-archived{background:#f3f0f4!important;color:#817987!important}
.vchat-calendar-row-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  min-width:230px!important;
}
.vchat-calendar-row-actions button{
  min-height:32px!important;
  padding:0 10px!important;
  border:1px solid #ded8e9!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#5948a1!important;
  font-size:8.5px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.vchat-calendar-row-actions button:hover{
  background:#f4f0ff!important;
  border-color:#c8bee8!important;
}

/* Stronger visual context on main Agenda calendar select */
.vchat-frontend-app [data-vchat-panel="booking"] #vchat-booking-calendar-filter{
  border-color:#c9bfe8!important;
  background:#fbf9ff!important;
  font-weight:800!important;
  color:#4f3e91!important;
}

/* Remove inherited danger styling from normal calendar actions */
.vchat-calendar-manager-079 button:not(.danger),
.vchat-booking-settings-079 button:not(.danger):not(.vchat-booking-exception-remove):not(.vchat-booking-hours-remove){
  outline:0!important;
}
.vchat-calendar-manager-079 button:not(.danger):focus-visible,
.vchat-booking-settings-079 button:not(.danger):focus-visible{
  box-shadow:0 0 0 3px rgba(101,84,184,.14)!important;
}

@media(max-width:1000px){
  .vchat-booking-settings-context{align-items:stretch!important;flex-direction:column!important}
  .vchat-booking-settings-context label{flex:0 0 auto!important;width:100%!important}
  .vchat-booking-exception-row{grid-template-columns:1fr 1fr!important}
  .vchat-booking-exception-times{grid-column:1/-1!important}
  .vchat-exception-note{grid-column:1/-1!important}
  .vchat-booking-exception-remove{grid-column:1/-1!important;width:100%!important}
}
@media(max-width:640px){
  .vchat-booking-settings-tabs{display:grid!important;grid-template-columns:1fr!important}
  .vchat-booking-exception-row{grid-template-columns:1fr!important}
  .vchat-booking-exception-times{grid-template-columns:1fr!important;grid-column:auto!important}
  .vchat-exception-note{grid-column:auto!important}
}
