.booking-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:24px;
}

.booking-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:800;
}

.booking-form input,
.booking-form textarea,
.booking-form select{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:#0f0f0f;
  color:#fff;
  padding:14px 15px;
  font-size:16px;
  outline:none;
}

.booking-form input:focus,
.booking-form textarea:focus{
  border-color:#f04a24;
}

.booking-form textarea,
.booking-form .full{
  grid-column:1/-1;
}

.booking-form button{
  grid-column:1/-1;
  justify-self:start;
}

.success-message{
  margin-top:16px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(44,180,90,.14);
  border:1px solid rgba(44,180,90,.35);
  color:#9ff0b8;
  font-weight:800;
}

.phone-input{
  display:flex;
  gap:10px;
}

.phone-input select{
  width:140px;
  flex-shrink:0;
}

.iti{width:100%}
.iti input{width:100%!important}
.iti__country-container{color:#111}
.iti__dropdown-content{background:#fff!important;color:#111!important;border-radius:14px!important;overflow:hidden!important;z-index:999999!important}
.iti__country-list{background:#fff!important;color:#111!important;max-height:55vh!important;overflow-y:auto!important}
.iti__country{color:#111!important;font-size:15px!important;padding:10px 12px!important}
.iti__country-name,.iti__dial-code{color:#111!important}
.iti__search-input{color:#111!important;background:#fff!important;border:1px solid #ccc!important;border-radius:8px!important;padding:10px!important;font-size:16px!important}
.iti__selected-dial-code{color:#fff!important;font-weight:800!important;margin-left:8px!important}
.iti__selected-country{background:transparent!important;padding-left:14px!important}
.iti--separate-dial-code .iti__selected-dial-code{display:inline-block!important;min-width:44px!important}
.iti--separate-dial-code input.iti__tel-input{padding-left:112px!important}

.bookings-table{
  width:100%;
  border-collapse:collapse;
  margin-top:24px;
  font-size:15px;
}

.bookings-table th{
  text-align:left;
  padding:14px 12px;
  border-bottom:2px solid #ddd;
  font-size:15px;
}

.bookings-table td{
  padding:14px 12px;
  border-bottom:1px solid #eee;
  vertical-align:top;
}

.bookings-table tr:hover{
  background:#fafafa;
}

.status-pill{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
}

.status-confirmed{background:#e7f7ed;color:#14783b}
.status-pending,
.status-new{background:#fff4d6;color:#9a6500}
.status-cancelled{background:#ffe5e5;color:#a60000}

.booking-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.booking-actions form{
  margin:0;
}

.booking-actions button{
  border:0;
  border-radius:12px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
}

.booking-actions .confirm-btn{background:#14783b;color:white}
.booking-actions .cancel-btn{background:#111;color:white}

.booking-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:24px;
  margin-bottom:24px;
}

.booking-settings-grid label{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.booking-checkboxes{
  display:flex;
  gap:40px;
  align-items:center;
  margin:24px 0;
}

.booking-checkboxes label{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  cursor:pointer;
}

.booking-checkboxes input[type="checkbox"]{
  width:20px;
  height:20px;
  margin:0;
}

.booking-settings-actions{
  margin-top:20px;
}

.booking-settings-actions button{
  min-width:220px;
}

.booking-settings-footer{
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:24px;
}

.booking-checkbox{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
}

.booking-checkbox input{
  margin:0;
  width:18px;
  height:18px;
}

.booking-settings-footer button{
  margin-left:auto;
}
