/* Vchat 0.36.80 — Agenda visual polish & responsiveness */

.vchat-frontend-app [data-vchat-panel="booking"]{
  --ag-ink:#2c2740;
  --ag-text:#433d55;
  --ag-muted:#8b8498;
  --ag-border:#e2deeb;
  --ag-soft:#f8f6fb;
  --ag-soft-2:#f2eef9;
  --ag-primary:#6251b7;
  --ag-primary-2:#735fd0;
  --ag-danger:#c85a70;
  --ag-radius:18px;
}

/* Main spacing */
.vchat-frontend-app [data-vchat-panel="booking"]{
  padding-bottom:36px!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-panel-inner,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-shell{
  min-width:0!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] h1,
.vchat-frontend-app [data-vchat-panel="booking"] h2,
.vchat-frontend-app [data-vchat-panel="booking"] h3,
.vchat-frontend-app [data-vchat-panel="booking"] p{
  max-width:100%!important;
}

/* Header actions */
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-top-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-top-actions button{
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:12px!important;
  border:1px solid #ddd7e9!important;
  background:#fff!important;
  color:#56469c!important;
  font-size:11px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-top-actions button.primary{
  background:var(--ag-primary)!important;
  border-color:var(--ag-primary)!important;
  color:#fff!important;
}

/* KPI cards */
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin:18px 0 20px!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis>article,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats>article{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:128px!important;
  padding:20px 22px!important;
  border:1px solid var(--ag-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(43,33,76,.04)!important;
  overflow:hidden!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis small,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats small{
  display:block!important;
  margin:0 0 8px!important;
  color:#70687f!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis strong,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats strong{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--ag-ink)!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis span,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats span{
  display:block!important;
  color:#9a93a6!important;
  font-size:10px!important;
  line-height:1.4!important;
}

/* Toolbar */
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(180px,240px) minmax(180px,240px) minmax(140px,180px) minmax(0,1fr)!important;
  align-items:end!important;
  gap:12px!important;
  padding:16px 18px!important;
  margin:0 0 16px!important;
  border:1px solid var(--ag-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(43,33,76,.035)!important;
  overflow:visible!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-toolbar label{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
  color:#6f687b!important;
  font-size:9px!important;
  font-weight:850!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-toolbar select{
  width:100%!important;
  min-height:42px!important;
  padding:0 13px!important;
  border:1px solid #ddd8e6!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#3b344f!important;
  font-size:10.5px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-view-toggle{
  align-self:end!important;
  display:flex!important;
  gap:4px!important;
  padding:4px!important;
  border-radius:11px!important;
  background:#f3f0f8!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-view-toggle button{
  min-height:34px!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#7c7489!important;
  font-size:10px!important;
  font-weight:800!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-view-toggle button.is-active{
  background:#fff!important;
  color:#59479f!important;
  box-shadow:0 2px 7px rgba(54,42,92,.08)!important;
}

/* Period controls */
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-period{
  display:grid!important;
  grid-template-columns:40px minmax(210px,1fr) 40px auto!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  justify-self:end!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-period button{
  appearance:none!important;
  -webkit-appearance:none!important;
  outline:0!important;
  box-shadow:none!important;
  border:1px solid #ddd8e6!important;
  background:#fff!important;
  color:#5948a1!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-nav-button{
  width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  font-size:16px!important;
  font-weight:900!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-month-button{
  min-width:0!important;
  width:100%!important;
  height:40px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:10.5px!important;
  font-weight:850!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-today-button{
  height:40px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:850!important;
}

/* Calendar */
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-calendar{
  padding:14px!important;
  border:1px solid var(--ag-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(43,33,76,.03)!important;
  overflow:auto!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-weekdays{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:980px!important;
  margin:0 0 8px!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-weekdays span{
  display:block!important;
  padding:5px 10px 7px!important;
  color:#6f687b!important;
  font-size:8.5px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-days{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:980px!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:132px!important;
  border:1px solid #e5e1ec!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day.is-outside-month{
  background:#faf9fc!important;
  border-color:#efecf4!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day.is-outside-month .vchat-booking-date-label{
  opacity:.38!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day.is-outside-month .vchat-booking-day-body{
  opacity:.45!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-height:48px!important;
  padding:8px 9px 8px 11px!important;
  border-bottom:1px solid #f1eef5!important;
  background:#fcfbfd!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-date-label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-date-label small{
  margin:0!important;
  color:#837b91!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:850!important;
  text-transform:capitalize!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-date-label strong{
  display:grid!important;
  place-items:center!important;
  min-width:28px!important;
  height:28px!important;
  padding:0 5px!important;
  margin:0!important;
  border-radius:8px!important;
  color:#2c2740!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day.is-today .vchat-booking-date-label strong{
  background:var(--ag-primary)!important;
  color:#fff!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day-add{
  display:grid!important;
  place-items:center!important;
  flex:0 0 29px!important;
  width:29px!important;
  height:29px!important;
  min-height:29px!important;
  padding:0!important;
  border:1px solid #d8d1e9!important;
  border-radius:8px!important;
  background:#f0ecfb!important;
  color:#6251b7!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:500!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day-add:hover{
  background:var(--ag-primary)!important;
  border-color:var(--ag-primary)!important;
  color:#fff!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day-body{
  display:grid!important;
  align-content:start!important;
  gap:6px!important;
  min-width:0!important;
  padding:8px!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day-body>em{
  color:#8a8295!important;
  font-size:8px!important;
  font-style:normal!important;
  font-weight:800!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-event{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:2px 7px!important;
  width:100%!important;
  min-width:0!important;
  padding:7px 8px!important;
  border:0!important;
  border-left:3px solid var(--ag-primary)!important;
  border-radius:8px!important;
  background:#f6f3fb!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-event span{
  grid-row:1/3!important;
  color:#5f4eaa!important;
  font-size:8.5px!important;
  font-weight:900!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-event strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#312b43!important;
  font-size:9px!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-event small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#8b8396!important;
  font-size:8px!important;
}

/* Agenda list */
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-agenda{
  display:grid!important;
  gap:10px!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-agenda>article{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr) auto auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:14px 16px!important;
  border:1px solid var(--ag-border)!important;
  border-radius:14px!important;
  background:#fff!important;
}

/* Generic booking button normalization */
.vchat-frontend-app [data-vchat-panel="booking"] button:not(.danger){
  outline:0!important;
  box-shadow:none!important;
}
.vchat-frontend-app [data-vchat-panel="booking"] button:not(.danger):focus-visible{
  outline:3px solid rgba(98,81,183,.16)!important;
  outline-offset:2px!important;
}

/* Responsive */
@media(max-width:1200px){
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis,
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-toolbar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-period{
    grid-column:1/-1!important;
    justify-self:stretch!important;
  }
}

@media(max-width:760px){
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis,
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-kpis>article,
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-stats>article{
    min-height:106px!important;
    padding:16px 18px!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-toolbar{
    grid-template-columns:1fr!important;
    padding:14px!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-view-toggle{
    width:100%!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-view-toggle button{
    flex:1!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-period{
    grid-template-columns:38px minmax(0,1fr) 38px auto!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-calendar{
    padding:10px!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-weekdays,
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-days{
    min-width:860px!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day{
    min-height:120px!important;
  }
  .vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-agenda>article{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
}

/* Fix accidental red inherited borders on neutral actions */
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-nav-button,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-month-button,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-today-button,
.vchat-frontend-app [data-vchat-panel="booking"] .vchat-booking-day-add{
  border-color:#d8d1e9!important;
}
