.bmn-calendar {
  margin: 50px auto;
  max-width: 800px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: #fff;
}
.bmn-calendar__header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  font-weight: 600;
}
.bmn-calendar__title {
  grid-column: 2/3;
  text-align: center;
}
.bmn-calendar__nav {
  text-decoration: none;
  display: inline-block;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  background: #fafafa;
  color: #111827;
}
.bmn-calendar__nav--prev { justify-self: start; }
.bmn-calendar__nav--next { justify-self: end; }

.bmn-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.bmn-calendar__cell {
  min-height: 76px;
  border-right: 1px solid #f3f4f6;
  border-bottom: 1px solid #f3f4f6;
  padding: 8px;
  position: relative;
}
.bmn-calendar__cell:nth-child(7n) { border-right: none; }
.bmn-calendar__grid--head .bmn-calendar__cell {
  background: #f9fafb;
  font-size: 12px;
  font-weight: 600;
  min-height: 36px;
  text-align: center;
}
.bmn-calendar__cell--blank { background: #fff; }

.bmn-calendar__cell--day .bmn-calendar__daynum {
  font-size: 12px;
  color: #6b7280;
  position: absolute;
  top: 6px;
  right: 8px;
}
.bmn-calendar__cell--day.is-today {
  background: #eef2ff;
  box-shadow: inset 0 0 0 2px #c7d2fe;
}


.bmn-calendar.is-loading {
  opacity: .6;
  pointer-events: none;
  transition: opacity .2s ease;
}


.bmn-form { margin-top: 16px; padding: 12px; border-top: 1px solid #e5e7eb; }
.bmn-form__row { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 12px; }
.bmn-form__label { align-self: center;display: inline-block;font-size: 15px; margin-bottom: 10px; }
.bmn-form__req { color: #b91c1c; margin-left: 4px; }
.bmn-input, .bmn-select, .bmn-textarea {
  width: 100%; padding: 8px 10px; border:1px solid #d1d5db; border-radius:6px; background:#fff;
}
.bmn-checkbox { display: inline-flex; gap:8px; align-items:center; margin-right: 14px; }
.bmn-form__actions { margin-top: 8px; }
.bmn-btn { padding: 8px 12px; border:1px solid #d1d5db; border-radius:6px; background:#f9fafb;cursor:pointer }


.bmn-calendar__cell--day.is-selected {
  outline: 2px solid #60a5fa;
  background: #eff6ff;
}
.bmn-calendar.is-loading { opacity:.6; pointer-events:none; transition:opacity .2s ease; }


.bmn-calendar__cell--day.is-disabled {
  opacity: .4;
  cursor: not-allowed;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(0,0,0,.03) 6px, rgba(0,0,0,.03) 12px);
}
.bmn-calendar__cell--day.is-disabled .bmn-calendar__daynum { color: #9ca3af; }


.bmn-status-confirmed{
  background-color: #84c18f !important;
}
.bmn-status-cancelled{
  background-color: #d9958c !important;
}


.bmn-input__wrapper{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.bmn-input__row{
  width: 48%;
  margin: 10px 0;
}
.bmn-input__row--full{
  width: 100%;
}