.sfb-price-table{border-top:1px solid #e8e5df}.sfb-price-row{display:flex;justify-content:space-between;gap:30px;padding:18px 0;border-bottom:1px solid #e8e5df}.sfb-price-row>div:last-child{text-align:right}.sfb-price-row strong,.sfb-price-row small{display:block}.sfb-price-row small{color:#6b6b6b;margin-top:4px}.sfb-calendar{background:#fff;border:1px solid #e8e5df;border-radius:18px;padding:24px}.sfb-calendar-title{font-size:22px;font-weight:600;margin-bottom:16px}.sfb-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.sfb-cal-head{text-align:center;font-size:12px;color:#6b6b6b;padding:6px}.sfb-cal-day{min-height:64px;border-radius:8px;padding:8px;display:flex;flex-direction:column;justify-content:space-between}.sfb-cal-day.is-free{background:#f3f6ef}.sfb-cal-day.is-booked{background:#f5e9e7;color:#8a4037}.sfb-cal-day small{font-size:10px}.sfb-legend{display:flex;gap:18px;margin-top:14px;font-size:13px}.sfb-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.sfb-legend .free{background:#b8c5a2}.sfb-legend .booked{background:#d7a49e}.sfb-booking-form{background:#fff;border:1px solid #e8e5df;border-radius:18px;padding:28px}.sfb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sfb-booking-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;color:#2c2c2c}.sfb-booking-form input,.sfb-booking-form textarea,.sfb-booking-form select{border:1px solid #dcd8d1;border-radius:10px;padding:12px 14px;font:inherit}.sfb-booking-form button{background:#5b6642;color:#fff;border:0;border-radius:14px;padding:15px 28px;font-weight:600;cursor:pointer}.sfb-booking-form button:hover{background:#485234}.sfb-form-hint{color:#6b6b6b;font-size:13px}.sfb-notice{padding:14px 16px;background:#f3f6ef;border-radius:10px;margin-bottom:16px}@media(max-width:700px){.sfb-form-grid{grid-template-columns:1fr}.sfb-price-row{flex-direction:column;gap:8px}.sfb-price-row>div:last-child{text-align:left}.sfb-calendar{padding:14px}.sfb-cal-day{min-height:48px;padding:5px}.sfb-cal-day small{display:none}}

.sfb-live-status{margin:14px 0;font-size:14px;font-weight:600}
.sfb-live-status.is-ok{color:#356b3d}
.sfb-live-status.is-error{color:#9d2f2f}
.sfb-live-quote{margin:18px 0;padding:18px;border:1px solid #E8E5DF;border-radius:14px;background:#FAF9F6}
.sfb-live-quote>div{display:flex;justify-content:space-between;gap:18px;padding:5px 0}
.sfb-live-total{border-top:1px solid #E8E5DF;margin-top:8px;padding-top:13px!important;font-size:18px}
.sfb-live-nights{display:block;margin-top:6px;color:#6B6B6B}

.sfb-form-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:14px;
}
.sfb-form-actions .sfb-ajax-message{
  display:none;
  margin:0;
  padding:12px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}
.sfb-form-actions .sfb-ajax-message.is-ok{
  display:block;
  background:#EEF3E8;
  color:#44522F;
  border:1px solid #CBD7BD;
}
.sfb-form-actions .sfb-ajax-message.is-error{
  display:block;
  background:#FFF0EE;
  color:#8A2F27;
  border:1px solid #E7C0BA;
}
@media(max-width:767px){
  .sfb-form-actions{
    align-items:stretch;
  }
  .sfb-form-actions button,
  .sfb-form-actions .sfb-ajax-message{
    width:100%;
    box-sizing:border-box;
  }
}


/* Frontend availability calendar */
.sfb-public-calendar{
  width:100%;
  max-width:560px;
  margin:0 auto;
  font-family:Inter,Arial,sans-serif;
  color:#2C2C2C;
}
.sfb-public-calendar__nav{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.sfb-public-calendar__nav strong{
  text-align:center;
  font-family:"Playfair Display",Georgia,serif;
  font-size:22px;
  font-weight:600;
}
.sfb-public-calendar__nav button{
  width:42px;
  height:42px;
  border:1px solid #DEDCD5;
  border-radius:50%;
  background:#fff;
  color:#5B6642;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  padding:0 0 4px;
}
.sfb-public-calendar__nav button:hover{
  background:#F4F3EE;
}
.sfb-public-calendar__title{
  display:none;
}
.sfb-public-calendar__grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
}
.sfb-public-cal-head{
  text-align:center;
  padding:5px 0 8px;
  font-size:12px;
  font-weight:700;
  color:#5B6642;
}
.sfb-public-cal-empty{
  min-height:48px;
}
.sfb-public-cal-day{
  min-height:54px;
  border-radius:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  border:1px solid transparent;
}
.sfb-public-cal-day span{
  font-size:15px;
  font-weight:700;
}
.sfb-public-cal-day small{
  font-size:10px;
  line-height:1;
}
.sfb-public-cal-day.is-free{
  background:#EEF3E8;
  border-color:#D5E0C8;
  color:#40502E;
}
.sfb-public-cal-day.is-booked{
  background:#F7E2DE;
  border-color:#EBC8C1;
  color:#8B352D;
}
.sfb-public-calendar__legend{
  display:flex;
  justify-content:center;
  gap:22px;
  margin-top:16px;
  font-size:12px;
  color:#666;
}
.sfb-public-calendar__legend span{
  display:flex;
  align-items:center;
  gap:7px;
}
.sfb-public-calendar__legend i{
  width:12px;
  height:12px;
  border-radius:50%;
  display:inline-block;
}
.sfb-public-calendar__legend i.is-free{
  background:#D5E0C8;
}
.sfb-public-calendar__legend i.is-booked{
  background:#E7B7AE;
}
.sfb-public-calendar__body{
  transition:opacity .15s ease;
}
.sfb-public-calendar__body.is-loading{
  opacity:.45;
  pointer-events:none;
}
@media(max-width:767px){
  .sfb-public-calendar__nav{
    grid-template-columns:38px 1fr 38px;
  }
  .sfb-public-calendar__nav button{
    width:38px;
    height:38px;
  }
  .sfb-public-calendar__nav strong{
    font-size:19px;
  }
  .sfb-public-calendar__grid{
    gap:3px;
  }
  .sfb-public-cal-day{
    min-height:45px;
    border-radius:8px;
  }
  .sfb-public-cal-day span{
    font-size:13px;
  }
  .sfb-public-cal-day small{
    font-size:8px;
  }
}


/* Dynamic frontend price summary */
.sfb-price-summary-table{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:14px;
  font-family:Inter,Arial,sans-serif;
  color:#2C2C2C;
}
.sfb-price-summary-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:20px 22px;
  border:1px solid #E8E5DF;
  border-radius:16px;
  background:#FCFBF8;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.sfb-price-summary-row:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.035);
  border-color:#DED9CF;
}
.sfb-price-summary-left{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.sfb-price-summary-right{
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:right;
  align-items:flex-end;
}
.sfb-price-summary-left strong{
  font-family:"Playfair Display",Georgia,serif;
  font-size:22px;
  line-height:1.15;
  font-weight:600;
  color:#3A3A34;
}
.sfb-price-summary-right strong{
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  color:#5B6642;
  white-space:nowrap;
}
.sfb-price-summary-row small{
  font-size:12px;
  line-height:1.45;
  color:#7B7B76;
}
.sfb-price-summary-cleaning{
  background:#F5F2EA;
  border-color:#E3DDD0;
  margin-top:2px;
}
.sfb-price-summary-cleaning .sfb-price-summary-left strong{
  font-family:Inter,Arial,sans-serif;
  font-size:16px;
  font-weight:600;
}
.sfb-price-summary-cleaning .sfb-price-summary-right strong{
  font-size:17px;
}
@media(max-width:767px){
  .sfb-price-summary-table{
    gap:10px;
  }
  .sfb-price-summary-row{
    grid-template-columns:1fr;
    gap:12px;
    padding:17px 18px;
    border-radius:14px;
  }
  .sfb-price-summary-right{
    align-items:flex-start;
    text-align:left;
  }
  .sfb-price-summary-left strong{
    font-size:20px;
  }
  .sfb-price-summary-right strong{
    font-size:17px;
  }
}


/* Calendar arrival/departure split days */
.sfb-public-cal-day{
  position:relative;
  overflow:hidden;
}
.sfb-public-cal-day span{
  position:relative;
  z-index:1;
}
.sfb-public-cal-day small{
  display:none !important;
}
.sfb-public-cal-day.is-free{
  background:#EEF3E8;
  border-color:#D5E0C8;
  color:#40502E;
}
.sfb-public-cal-day.is-booked{
  background:#F7E2DE;
  border-color:#EBC8C1;
  color:#8B352D;
}
/* Arrival: first half of day free, second half occupied */
.sfb-public-cal-day.is-checkin{
  background:linear-gradient(135deg,#EEF3E8 0 49.5%,#F7E2DE 50.5% 100%);
  border-color:#DCCFC7;
  color:#544236;
}
/* Departure: first half occupied, second half free */
.sfb-public-cal-day.is-checkout{
  background:linear-gradient(135deg,#F7E2DE 0 49.5%,#EEF3E8 50.5% 100%);
  border-color:#DCCFC7;
  color:#544236;
}
/* Same-day turnover: visually occupied, with a subtle divider */
.sfb-public-cal-day.is-turnover{
  background:linear-gradient(135deg,#F7E2DE 0 49%,#E8C7C0 49.5% 50.5%,#F7E2DE 51% 100%);
  border-color:#EBC8C1;
  color:#8B352D;
}
.sfb-public-calendar__legend{
  flex-wrap:wrap;
  row-gap:10px;
}
.sfb-public-calendar__legend i.is-checkin{
  background:linear-gradient(135deg,#D5E0C8 0 49%,#E7B7AE 51% 100%);
}
.sfb-public-calendar__legend i.is-checkout{
  background:linear-gradient(135deg,#E7B7AE 0 49%,#D5E0C8 51% 100%);
}
.sfb-public-calendar__note{
  margin-top:10px;
  text-align:center;
  color:#7A7A76;
  font-size:11px;
  line-height:1.4;
}

.sfb-license{
  margin:12px 0;
  font-family:Inter,Arial,sans-serif;
  font-size:13px;
  line-height:1.5;
  color:#6B6B6B;
}
.sfb-license strong{
  color:#2C2C2C;
  font-weight:600;
}


/* Frontend portal login */
.sfb-login-box{
  max-width:520px;
  margin:0 auto;
  padding:30px;
  background:#fff;
  border:1px solid #E8E5DF;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
  font-family:Inter,Arial,sans-serif;
  color:#2C2C2C;
}
.sfb-login-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.sfb-login-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:14px;
  font-weight:600;
}
.sfb-login-form input[type="text"],
.sfb-login-form input[type="password"]{
  width:100%;
  box-sizing:border-box;
  border:1px solid #E8E5DF;
  border-radius:12px;
  padding:14px;
  font:inherit;
}
.sfb-login-form input:focus{
  outline:none;
  border-color:#5B6642;
  box-shadow:0 0 0 2px rgba(91,102,66,.10);
}
.sfb-login-form .sfb-login-remember{
  flex-direction:row;
  align-items:center;
  gap:8px;
  font-weight:500;
}
.sfb-login-form button,
.sfb-login-button,
.sfb-logout-button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border:0;
  border-radius:14px;
  padding:14px 22px;
  background:#5B6642;
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
}
.sfb-login-forgot,
.sfb-login-link{
  color:#5B6642;
  text-decoration:none;
  font-size:14px;
}
.sfb-login-error{
  margin-bottom:16px;
  padding:12px 14px;
  border:1px solid #E7C0BA;
  border-radius:12px;
  background:#FFF0EE;
  color:#8A2F27;
  font-weight:600;
}
@media(max-width:767px){
  .sfb-login-box{
    padding:22px;
  }
}


/* Cleaning + Owner portals */
.sfb-portal{
  max-width:1080px;
  margin:0 auto;
  font-family:Inter,Arial,sans-serif;
  color:#2C2C2C;
}
.sfb-portal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:28px;
}
.sfb-portal-kicker{
  display:block;
  margin-bottom:4px;
  color:#69764B;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.sfb-portal h2,
.sfb-portal h3,
.sfb-portal h4{
  margin-top:0;
}
.sfb-portal h2{
  font-family:"Playfair Display",Georgia,serif;
  font-size:34px;
}
.sfb-portal-list{
  display:grid;
  gap:16px;
}
.sfb-portal-card,
.sfb-owner-property{
  border:1px solid #E7E4DD;
  background:#fff;
  border-radius:18px;
  padding:22px;
  box-shadow:0 8px 24px rgba(0,0,0,.035);
}
.sfb-portal-card-top{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:16px;
}
.sfb-portal-card h3,
.sfb-owner-property h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:24px;
  margin-bottom:4px;
}
.sfb-portal-guest{
  margin:0;
  color:#707070;
}
.sfb-portal-date{
  white-space:nowrap;
  border-radius:999px;
  background:#F1F5EB;
  color:#4B5A36;
  padding:8px 12px;
  font-size:13px;
  font-weight:700;
}
.sfb-portal-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  color:#555;
  font-size:14px;
}
.sfb-portal-note{
  margin-top:16px;
  background:#F8F6F0;
  border-radius:12px;
  padding:13px 15px;
  font-size:14px;
}
.sfb-portal-empty{
  padding:30px;
  border:1px dashed #DAD7CF;
  border-radius:16px;
  text-align:center;
  color:#777;
}
.sfb-portal-empty-small{
  padding:18px;
}
.sfb-owner-property{
  margin-bottom:24px;
}
.sfb-owner-property-head{
  margin-bottom:18px;
}
.sfb-owner-calendar-wrap{
  max-width:620px;
  margin:0 0 28px;
}
.sfb-owner-property h4{
  margin-bottom:12px;
  font-size:16px;
}
.sfb-owner-bookings{
  border-top:1px solid #ECE9E2;
}
.sfb-owner-booking-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid #ECE9E2;
  font-size:14px;
}
.sfb-portal-message{
  max-width:700px;
  margin:30px auto;
  padding:20px;
  text-align:center;
  border:1px solid #E7E4DD;
  border-radius:16px;
  background:#fff;
}
@media(max-width:767px){
  .sfb-portal{
    padding:0 14px;
  }
  .sfb-portal-head{
    align-items:center;
  }
  .sfb-portal h2{
    font-size:28px;
  }
  .sfb-portal-card-top{
    flex-direction:column;
  }
  .sfb-portal-meta{
    grid-template-columns:1fr;
  }
  .sfb-owner-booking-row{
    flex-direction:column;
    gap:4px;
  }
}


/* Cleaning switch-board */
.sfb-portal-subtitle{
  margin:6px 0 0;
  color:#777;
}
.sfb-cleaning-board-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-bottom:18px;
  border:1px solid #E7E4DD;
  border-radius:18px;
  background:#fff;
}
.sfb-cleaning-board{
  min-width:1250px;
}
.sfb-cleaning-board-head,
.sfb-cleaning-board-row{
  display:grid;
  grid-template-columns:220px repeat(14,72px);
}
.sfb-cleaning-board-head{
  position:sticky;
  top:0;
  z-index:2;
  background:#FBFAF7;
  border-bottom:1px solid #E7E4DD;
}
.sfb-cleaning-property-col{
  padding:14px 16px;
  border-right:1px solid #E7E4DD;
  display:flex;
  align-items:center;
}
.sfb-cleaning-board-row .sfb-cleaning-property-col{
  background:#fff;
}
.sfb-cleaning-day-head{
  min-height:64px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-right:1px solid #EEEAE3;
  color:#666;
  font-size:12px;
}
.sfb-cleaning-day-head strong{
  font-size:18px;
  color:#333;
}
.sfb-cleaning-day-head.is-today{
  background:#F0F3E8;
}
.sfb-cleaning-cell{
  min-height:78px;
  padding:7px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-right:1px solid #EEEAE3;
  border-bottom:1px solid #EEEAE3;
  font-size:12px;
}
.sfb-cleaning-cell strong{
  font-size:13px;
}
.sfb-cleaning-cell small{
  margin-top:3px;
  font-size:9px;
  line-height:1.2;
  max-width:64px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sfb-cleaning-cell.is-free{
  background:#FAFAF8;
  color:#AAA;
}
.sfb-cleaning-cell.is-occupied{
  background:#E9EEF0;
  color:#45606A;
}
.sfb-cleaning-cell.is-checkout{
  background:linear-gradient(135deg,#F4D7D1 0 48%,#EEF3E8 52% 100%);
  color:#80382F;
}
.sfb-cleaning-cell.is-checkin{
  background:linear-gradient(135deg,#EEF3E8 0 48%,#D9E9C9 52% 100%);
  color:#486033;
}
.sfb-cleaning-cell.is-turnover{
  background:linear-gradient(135deg,#F4D7D1 0 48%,#D9E9C9 52% 100%);
  color:#443D31;
  box-shadow:inset 0 0 0 2px #C9B68C;
}
.sfb-cleaning-legend{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:12px 0 28px;
  font-size:13px;
  color:#666;
}
.sfb-cleaning-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.sfb-cleaning-legend i{
  width:14px;
  height:14px;
  border-radius:4px;
  display:inline-block;
}
.sfb-cleaning-legend i.is-checkout{
  background:linear-gradient(135deg,#F4D7D1 0 48%,#EEF3E8 52% 100%);
}
.sfb-cleaning-legend i.is-checkin{
  background:linear-gradient(135deg,#EEF3E8 0 48%,#D9E9C9 52% 100%);
}
.sfb-cleaning-legend i.is-turnover{
  background:linear-gradient(135deg,#F4D7D1 0 48%,#D9E9C9 52% 100%);
}
.sfb-cleaning-legend i.is-occupied{
  background:#E9EEF0;
}
.sfb-cleaning-upcoming{
  margin-top:12px;
}
.sfb-cleaning-upcoming h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:26px;
  margin-bottom:14px;
}
.sfb-cleaning-event-list{
  display:grid;
  gap:10px;
}
.sfb-cleaning-event{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
  border:1px solid #E7E4DD;
  border-radius:14px;
  background:#fff;
}
.sfb-cleaning-event small{
  display:block;
  margin-top:3px;
  color:#777;
}
.sfb-cleaning-event-right{
  display:flex;
  gap:10px;
  align-items:center;
  color:#666;
  font-size:13px;
}
@media(max-width:767px){
  .sfb-cleaning-board-head,
  .sfb-cleaning-board-row{
    grid-template-columns:170px repeat(14,66px);
  }
  .sfb-cleaning-event{
    flex-direction:column;
  }
  .sfb-cleaning-event-right{
    flex-wrap:wrap;
  }
}


/* v0.9.7 cleaning board refinements */
.sfb-cleaning-cell.is-occupied{
  background:#DDE9CF;
  color:#3E512E;
}
.sfb-cleaning-guest-label{
  width:150px;
  position:relative;
  z-index:3;
  text-align:center;
  pointer-events:none;
}
.sfb-cleaning-guest-label strong{
  display:block;
  font-size:12px;
  line-height:1.15;
  white-space:nowrap;
}
.sfb-cleaning-guest-label small{
  display:block;
  margin-top:3px;
  font-size:10px;
  line-height:1.15;
  white-space:nowrap;
  color:#536345;
}


/* Manager frontend dashboard */
.sfb-manager-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.sfb-manager-sync,
.sfb-manager-save{
  border:0;
  border-radius:12px;
  padding:12px 16px;
  background:#5B6642;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.sfb-manager-sync:disabled,
.sfb-manager-save:disabled{
  opacity:.6;
  cursor:default;
}
.sfb-manager-sync-message{
  margin:-12px 0 20px;
  font-size:13px;
  font-weight:600;
}
.sfb-manager-sync-message.is-ok,
.sfb-manager-save-message.is-ok{
  color:#3F6A35;
}
.sfb-manager-sync-message.is-error,
.sfb-manager-save-message.is-error{
  color:#9A332B;
}
.sfb-manager-properties{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:28px;
}
.sfb-manager-property-card{
  border:1px solid #E7E4DD;
  border-radius:12px;
  padding:10px 14px;
  background:#FAF9F6;
}
.sfb-manager-property-card strong,
.sfb-manager-property-card small{
  display:block;
}
.sfb-manager-property-card small{
  margin-top:2px;
  color:#777;
}
.sfb-manager-bookings h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
}
.sfb-manager-booking{
  margin-bottom:14px;
  padding:18px;
  border:1px solid #E7E4DD;
  border-radius:16px;
  background:#fff;
}
.sfb-manager-booking-summary{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  margin-bottom:16px;
}
.sfb-manager-booking-summary h4{
  margin:0 0 3px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:21px;
}
.sfb-manager-booking-summary p{
  margin:0;
  color:#6F6F6F;
}
.sfb-manager-booking-tags{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.sfb-manager-booking-tags span{
  padding:6px 9px;
  border-radius:999px;
  background:#F0F3E8;
  color:#4F5E3B;
  font-size:11px;
  font-weight:700;
}
.sfb-manager-edit-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:12px;
}
.sfb-manager-edit-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  font-weight:700;
  color:#5E5E5E;
}
.sfb-manager-edit-grid input,
.sfb-manager-edit-grid textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #E1DED6;
  border-radius:10px;
  padding:10px 11px;
  font:inherit;
  background:#fff;
}
.sfb-manager-note-field{
  grid-column:1/-1;
}
.sfb-manager-booking-footer{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.sfb-manager-save-message{
  font-size:13px;
  font-weight:700;
}
@media(max-width:767px){
  .sfb-manager-booking-summary{
    flex-direction:column;
  }
  .sfb-manager-edit-grid{
    grid-template-columns:1fr;
  }
  .sfb-manager-note-field{
    grid-column:auto;
  }
}


/* Owner create booking */
.sfb-owner-create-box{
  margin:0 0 22px;
  padding:16px;
  border:1px solid #E7E4DD;
  border-radius:14px;
  background:#FAF9F6;
}
.sfb-owner-create-box h4{
  margin:0 0 12px;
  font-size:16px;
}
.sfb-owner-create-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.sfb-owner-create-grid label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  font-weight:700;
  color:#666;
}
.sfb-owner-create-grid input,
.sfb-owner-create-grid textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #DDD9D0;
  border-radius:9px;
  padding:9px 10px;
  font:inherit;
  background:#fff;
}
.sfb-owner-note-field{
  grid-column:1/-1;
}
.sfb-owner-create-footer{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
}
.sfb-owner-create{
  border:0;
  border-radius:10px;
  padding:10px 14px;
  background:#5B6642;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.sfb-owner-create-message{
  font-size:13px;
  font-weight:700;
}
.sfb-owner-create-message.is-ok{ color:#3F6A35; }
.sfb-owner-create-message.is-error{ color:#9A332B; }

@media(max-width:900px){
  .sfb-owner-create-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .sfb-owner-create-grid{
    grid-template-columns:1fr;
  }
  .sfb-owner-note-field{
    grid-column:auto;
  }
}


/* v0.10.1 portal cleanup and owner controls */
.sfb-owner-booking-row{
  align-items:flex-start;
}
.sfb-owner-booking-main{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  flex:1;
}
.sfb-owner-booking-actions{
  display:flex;
  gap:8px;
  margin-left:auto;
}
.sfb-owner-booking-actions button,
.sfb-owner-save-edit{
  border:1px solid #D8D4CA;
  border-radius:9px;
  padding:8px 11px;
  background:#fff;
  color:#56623F;
  font-weight:700;
  cursor:pointer;
}
.sfb-owner-booking-actions .sfb-owner-delete{
  color:#9A3A32;
}
.sfb-owner-edit-panel{
  width:100%;
  margin-top:12px;
  padding:14px;
  border-radius:12px;
  background:#FAF9F6;
}
.sfb-owner-edit-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.sfb-owner-edit-grid label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  font-weight:700;
  color:#666;
}
.sfb-owner-edit-grid input,
.sfb-owner-edit-grid textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #DDD9D0;
  border-radius:9px;
  padding:9px 10px;
  font:inherit;
  background:#fff;
}
.sfb-owner-edit-grid .sfb-owner-note-field{
  grid-column:1/-1;
}
.sfb-owner-edit-footer{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
}
.sfb-owner-edit-message{
  font-size:13px;
  font-weight:700;
}
.sfb-owner-edit-message.is-ok{color:#3F6A35;}
.sfb-owner-edit-message.is-error{color:#9A332B;}

/* Put guest name on the second row on tablet-sized owner forms. */
@media (min-width:768px) and (max-width:1180px){
  .sfb-owner-create-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .sfb-owner-create-grid .sfb-owner-name-field{
    grid-column:1/3;
    grid-row:2;
  }
  .sfb-owner-create-grid .sfb-owner-note-field{
    grid-column:1/-1;
  }

  .sfb-owner-edit-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .sfb-owner-edit-grid .sfb-owner-name-field{
    grid-column:1/3;
    grid-row:2;
  }
}

@media(max-width:767px){
  .sfb-owner-booking-row{
    flex-direction:column;
  }
  .sfb-owner-booking-actions{
    margin-left:0;
  }
  .sfb-owner-edit-grid{
    grid-template-columns:1fr;
  }
  .sfb-owner-edit-grid .sfb-owner-name-field,
  .sfb-owner-edit-grid .sfb-owner-note-field{
    grid-column:auto;
    grid-row:auto;
  }
}


/* v0.10.3 - Cleaning bookings separated by property */
.sfb-cleaning-property-list{display:grid;gap:22px}
.sfb-cleaning-property-section{border:1px solid #E5E1D8;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 20px rgba(0,0,0,.03)}
.sfb-cleaning-property-title{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;background:#F6F7F1;border-bottom:1px solid #E5E1D8}
.sfb-cleaning-property-title h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:24px}
.sfb-cleaning-property-title span{font-size:12px;color:#6B735A}
.sfb-cleaning-stay-list{padding:0 20px}
.sfb-cleaning-stay{display:grid;grid-template-columns:220px minmax(220px,1fr) minmax(180px,1fr);gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid #ECE9E2}
.sfb-cleaning-stay:last-child{border-bottom:0}
.sfb-cleaning-stay.is-today{margin:0 -20px;padding-left:20px;padding-right:20px;background:#FFF7D9}
.sfb-cleaning-stay-dates{display:flex;align-items:center;gap:12px}
.sfb-cleaning-stay-dates div{display:flex;flex-direction:column;gap:2px}
.sfb-cleaning-stay-dates small,.sfb-cleaning-stay-note small{color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.sfb-cleaning-stay-dates strong{font-size:20px;color:#4C593A}
.sfb-cleaning-stay-guest{display:flex;flex-direction:column;gap:4px}
.sfb-cleaning-stay-guest strong{font-size:16px}
.sfb-cleaning-stay-guest span{color:#5F5F5F;font-size:13px}
.sfb-cleaning-stay .is-missing{color:#A06B61;font-style:italic;font-weight:500}
.sfb-cleaning-stay-note{display:flex;flex-direction:column;gap:4px;color:#555;font-size:13px}
.sfb-cleaning-no-bookings{padding:24px 20px;color:#888;font-size:14px}
@media(max-width:900px){
 .sfb-cleaning-stay{grid-template-columns:190px 1fr}
 .sfb-cleaning-stay-note{grid-column:1/-1}
}
@media(max-width:600px){
 .sfb-cleaning-property-title{align-items:flex-start;flex-direction:column;gap:4px}
 .sfb-cleaning-stay{grid-template-columns:1fr;gap:12px}
 .sfb-cleaning-stay-note{grid-column:auto}
}


/* v0.10.4 */
.sfb-cleaning-section-heading{
  margin:26px 0 12px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:24px;
  color:#353535;
}


/* v0.10.5 baby equipment */
.sfb-owner-extra-field,
.sfb-manager-extra-field{
  display:flex;
  align-items:flex-end;
}
.sfb-owner-extra-field span,
.sfb-manager-extra-field span{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  font-weight:700;
  color:#555;
}
.sfb-owner-extra-field input,
.sfb-manager-extra-field input{
  width:auto !important;
}
.sfb-cleaning-extras{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:6px;
}
.sfb-cleaning-extras span{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  background:#F3EFE3;
  color:#5C523A;
  font-size:12px;
  font-weight:700;
}


/* v0.10.6 cleaning accounting */
.sfb-manager-cleaning-account{
  margin:28px 0 34px;
}
.sfb-manager-cleaning-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  margin-bottom:14px;
}
.sfb-manager-cleaning-head h3{
  margin:0 0 4px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
}
.sfb-manager-cleaning-head p{
  margin:0;
  color:#777;
  font-size:13px;
}
.sfb-manager-cleaning-total{
  min-width:130px;
  text-align:right;
}
.sfb-manager-cleaning-total small{
  display:block;
  color:#777;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sfb-manager-cleaning-total strong{
  display:block;
  margin-top:2px;
  font-size:26px;
  color:#8B3C34;
}
.sfb-manager-cleaning-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.sfb-cleaning-summary-card{
  padding:14px;
  border:1px solid #E5E1D8;
  border-radius:13px;
  background:#FAF9F6;
}
.sfb-cleaning-summary-card strong,
.sfb-cleaning-summary-card span,
.sfb-cleaning-summary-card small{
  display:block;
}
.sfb-cleaning-summary-card strong{
  margin-bottom:7px;
}
.sfb-cleaning-summary-card span{
  font-size:14px;
}
.sfb-cleaning-summary-card span b{
  color:#8B3C34;
}
.sfb-cleaning-summary-card small{
  margin-top:3px;
  color:#777;
}
.sfb-cleaning-summary-card.is-total{
  background:#F0F3E8;
  border-color:#D9DFC9;
}
.sfb-manager-cleaning-list{
  border:1px solid #E5E1D8;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
}
.sfb-manager-cleaning-row{
  display:grid;
  grid-template-columns:minmax(230px,1fr) 90px 130px 95px;
  gap:14px;
  align-items:center;
  padding:13px 15px;
  border-bottom:1px solid #ECE9E2;
}
.sfb-manager-cleaning-row:last-child{
  border-bottom:0;
}
.sfb-manager-cleaning-row.is-paid{
  background:#F4F8EF;
}
.sfb-manager-cleaning-row.is-unpaid{
  background:#FFFDFC;
}
.sfb-manager-cleaning-row > div:first-child strong,
.sfb-manager-cleaning-row > div:first-child span,
.sfb-manager-cleaning-row > div:first-child small{
  display:block;
}
.sfb-manager-cleaning-row > div:first-child span{
  margin-top:2px;
  color:#666;
  font-size:13px;
}
.sfb-manager-cleaning-row > div:first-child small{
  color:#888;
}
.sfb-manager-cleaning-amount{
  font-weight:800;
  font-size:16px;
}
.sfb-manager-cleaning-check{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:700;
}
.sfb-manager-cleaning-paidat{
  color:#777;
  font-size:12px;
  text-align:right;
}
@media(max-width:900px){
  .sfb-manager-cleaning-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sfb-manager-cleaning-row{
    grid-template-columns:1fr auto;
  }
  .sfb-manager-cleaning-check,
  .sfb-manager-cleaning-paidat{
    grid-column:auto;
  }
}
@media(max-width:600px){
  .sfb-manager-cleaning-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .sfb-manager-cleaning-total{
    text-align:left;
  }
  .sfb-manager-cleaning-summary{
    grid-template-columns:1fr;
  }
}


/* v0.10.7 cleaning payment visibility */
.sfb-cleaning-balance{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:18px 0 8px;
  padding:16px 18px;
  border-radius:14px;
  background:#F6F1E8;
  border:1px solid #E5DAC6;
}
.sfb-cleaning-balance span{
  font-size:13px;
  color:#6E6558;
  font-weight:700;
}
.sfb-cleaning-balance strong{
  font-size:24px;
  color:#8B3C34;
}
.sfb-cleaning-property-title > div:first-child span{
  display:block;
  margin-top:3px;
}
.sfb-cleaning-property-due{
  text-align:right;
}
.sfb-cleaning-property-due small,
.sfb-cleaning-property-due strong{
  display:block;
}
.sfb-cleaning-property-due small{
  color:#777;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.sfb-cleaning-property-due strong{
  margin-top:2px;
  color:#8B3C34;
  font-size:18px;
}
.sfb-cleaning-stay{
  grid-template-columns:220px minmax(220px,1fr) 105px minmax(180px,1fr);
}
.sfb-cleaning-stay-payment{
  display:flex;
  flex-direction:column;
  gap:2px;
  align-items:flex-start;
}
.sfb-cleaning-stay-payment small{
  color:#777;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.sfb-cleaning-stay-payment strong{
  font-size:17px;
}
.sfb-cleaning-stay-payment span{
  font-size:11px;
  font-weight:700;
}
.sfb-cleaning-stay-payment.is-paid{
  color:#557048;
}
.sfb-cleaning-stay-payment.is-due{
  color:#9A4A40;
}
@media(max-width:900px){
  .sfb-cleaning-stay{
    grid-template-columns:190px 1fr 90px;
  }
  .sfb-cleaning-stay-note{
    grid-column:1/-1;
  }
}
@media(max-width:600px){
  .sfb-cleaning-property-due{
    text-align:left;
  }
  .sfb-cleaning-stay{
    grid-template-columns:1fr;
  }
}


/* v0.10.8 cleaning task/payment logic */
.sfb-cleaning-stay-payment.is-upcoming{
  color:#6E735E;
}
.sfb-cleaning-task-list{
  display:grid;
  gap:10px;
}
.sfb-cleaning-task{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) 100px;
  gap:18px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #E7DED4;
  border-radius:14px;
  background:#FFFDFC;
}
.sfb-cleaning-task-main strong,
.sfb-cleaning-task-main span,
.sfb-cleaning-task-main small{
  display:block;
}
.sfb-cleaning-task-main span{
  margin-top:3px;
  color:#666;
  font-size:13px;
}
.sfb-cleaning-task-main small{
  margin-top:2px;
  color:#888;
}
.sfb-cleaning-task-guests{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  color:#555;
  font-size:13px;
}
.sfb-cleaning-task-amount{
  text-align:right;
}
.sfb-cleaning-task-amount small,
.sfb-cleaning-task-amount strong{
  display:block;
}
.sfb-cleaning-task-amount small{
  color:#9A4A40;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.sfb-cleaning-task-amount strong{
  margin-top:2px;
  color:#9A4A40;
  font-size:20px;
}
@media(max-width:700px){
  .sfb-cleaning-task{
    grid-template-columns:1fr;
    gap:10px;
  }
  .sfb-cleaning-task-amount{
    text-align:left;
  }
}


/* v0.11.0 manual booking price */
.sfb-manager-price-field{
  grid-column:1/2;
}
.sfb-manager-price-field small{
  margin-top:2px;
  color:#777;
  font-size:10px;
  font-weight:500;
}
@media(max-width:767px){
  .sfb-manager-price-field{
    grid-column:auto;
  }
}


/* v0.11.6 manager booking overview */
.sfb-manager-booking-list-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:14px;
}
.sfb-manager-booking-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.sfb-manager-filter{
  border:1px solid #D9D5CC;
  border-radius:999px;
  background:#fff;
  padding:7px 11px;
  color:#586344;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.sfb-manager-filter.is-active{
  background:#5B6642;
  border-color:#5B6642;
  color:#fff;
}
.sfb-manager-property-groups{
  display:grid;
  gap:14px;
}
.sfb-manager-property-group{
  border:1px solid #E6E2DA;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.sfb-manager-group-toggle{
  width:100%;
  border:0;
  background:#F6F7F1;
  padding:14px 17px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  color:#343434;
}
.sfb-manager-group-toggle span{
  font-family:"Playfair Display",Georgia,serif;
  font-size:21px;
  font-weight:700;
}
.sfb-manager-group-toggle small{
  color:#777;
}
.sfb-manager-group-body{
  padding:0 14px;
}
.sfb-manager-booking.is-compact{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid #ECE9E2;
  border-radius:0;
  box-shadow:none;
}
.sfb-manager-booking.is-compact:last-child{
  border-bottom:0;
}
.sfb-manager-booking-compact{
  display:grid;
  grid-template-columns:175px minmax(220px,1fr) 105px 125px 80px;
  gap:14px;
  align-items:center;
  padding:14px 2px;
}
.sfb-manager-booking-date strong,
.sfb-manager-booking-date span,
.sfb-manager-booking-guest strong,
.sfb-manager-booking-guest span{
  display:block;
}
.sfb-manager-booking-date strong{
  color:#4B5A38;
}
.sfb-manager-booking-date span,
.sfb-manager-booking-guest span{
  color:#777;
  font-size:12px;
  margin-top:2px;
}
.sfb-manager-booking-price{
  text-align:right;
}
.sfb-manager-booking-paid-toggle{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
}
.sfb-manager-booking-paid-toggle input{
  width:auto;
}
.sfb-manager-booking-edit-toggle{
  border:1px solid #D9D5CC;
  border-radius:9px;
  background:#fff;
  padding:8px 10px;
  color:#586344;
  font-weight:700;
  cursor:pointer;
}
.sfb-manager-booking-edit-panel{
  padding:2px 0 16px;
}
.sfb-manager-booking.is-booking-paid{
  background:#FBFDF9;
}
@media(max-width:950px){
  .sfb-manager-booking-compact{
    grid-template-columns:150px 1fr 100px 110px;
  }
  .sfb-manager-booking-edit-toggle{
    grid-column:1/-1;
    width:max-content;
  }
}
@media(max-width:700px){
  .sfb-manager-booking-list-head{
    flex-direction:column;
  }
  .sfb-manager-booking-compact{
    grid-template-columns:1fr 1fr;
  }
  .sfb-manager-booking-price{
    text-align:left;
  }
  .sfb-manager-booking-edit-toggle{
    grid-column:auto;
  }
}


/* v0.12.0 manager workspace */
.sfb-manager-topbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:16px;
}
.sfb-manager-topbar h2{
  margin:4px 0 0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:38px;
}
.sfb-manager-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:24px;
  padding:8px;
  border:1px solid #E5E1D8;
  border-radius:14px;
  background:#FAF9F6;
}
.sfb-manager-nav button{
  border:0;
  border-radius:10px;
  padding:10px 14px;
  background:transparent;
  color:#5B6642;
  font-weight:700;
  cursor:pointer;
}
.sfb-manager-nav button.is-active{
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.sfb-manager-nav button.is-primary{
  margin-left:auto;
  background:#5B6642;
  color:#fff;
}
.sfb-manager-section{
  display:none;
}
.sfb-manager-section.is-active{
  display:block;
}
.sfb-manager-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.sfb-manager-stat-card{
  padding:18px;
  border:1px solid #E5E1D8;
  border-radius:15px;
  background:#fff;
}
.sfb-manager-stat-card small,
.sfb-manager-stat-card strong,
.sfb-manager-stat-card span{
  display:block;
}
.sfb-manager-stat-card small{
  color:#777;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.sfb-manager-stat-card strong{
  margin:4px 0;
  font-size:28px;
  color:#485638;
}
.sfb-manager-stat-card span{
  color:#777;
  font-size:12px;
}
.sfb-manager-overview-block{
  margin-top:26px;
}
.sfb-manager-section-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:14px;
}
.sfb-manager-section-title h3{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
}
.sfb-manager-section-title p{
  margin:3px 0 0;
  color:#777;
  font-size:13px;
}
.sfb-manager-upcoming-list{
  border:1px solid #E5E1D8;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
}
.sfb-manager-upcoming-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 190px 190px;
  gap:16px;
  padding:14px 16px;
  border-bottom:1px solid #ECE9E2;
}
.sfb-manager-upcoming-row:last-child{border-bottom:0}
.sfb-manager-upcoming-row > div:first-child strong,
.sfb-manager-upcoming-row > div:first-child span,
.sfb-manager-upcoming-row small,
.sfb-manager-upcoming-row > div:not(:first-child) strong{
  display:block;
}
.sfb-manager-upcoming-row > div:first-child span{
  margin-top:2px;
  color:#777;
}
.sfb-manager-upcoming-row small{
  color:#888;
  font-size:10px;
  text-transform:uppercase;
}
.sfb-manager-calendar-controls{
  display:flex;
  align-items:center;
  gap:10px;
}
.sfb-manager-calendar-controls button{
  border:1px solid #D8D4CC;
  background:#fff;
  border-radius:9px;
  width:36px;
  height:36px;
  font-size:22px;
  cursor:pointer;
}
.sfb-manager-calendar-wrap{
  overflow-x:auto;
  border:1px solid #E5E1D8;
  border-radius:15px;
  background:#fff;
}
.sfb-manager-calendar{
  min-width:max-content;
}
.sfb-manager-calendar-head{
  display:grid;
  align-items:stretch;
  border-bottom:1px solid #E5E1D8;
  background:#F7F6F2;
}
.sfb-manager-cal-property-name{
  position:sticky;
  left:0;
  z-index:3;
  display:flex;
  align-items:center;
  padding:10px 12px;
  background:#F7F6F2;
  border-right:1px solid #E5E1D8;
  font-weight:700;
}
.sfb-manager-cal-head-day{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:50px;
  border-right:1px solid #EEEAE3;
}
.sfb-manager-cal-head-day small{
  color:#888;
  font-size:9px;
}
.sfb-manager-cal-head-day strong{
  font-size:13px;
}
.sfb-manager-cal-property{
  display:grid;
  grid-template-columns:190px auto;
  border-bottom:1px solid #ECE9E2;
}
.sfb-manager-cal-property:last-child{border-bottom:0}
.sfb-manager-cal-property .sfb-manager-cal-property-name{
  background:#fff;
}
.sfb-manager-cal-days{
  display:grid;
}
.sfb-manager-cal-day{
  width:32px;
  height:42px;
  box-sizing:border-box;
  border-right:1px solid #F0EDE7;
}
.sfb-manager-cal-day.is-free{background:#EDF3E5}
.sfb-manager-cal-day.is-booked{background:#E9B5AD}
.sfb-manager-cal-day.is-checkin{background:linear-gradient(135deg,#EDF3E5 50%,#E9B5AD 50%)}
.sfb-manager-cal-day.is-checkout{background:linear-gradient(135deg,#E9B5AD 50%,#EDF3E5 50%)}
.sfb-manager-cal-day.is-turnover{background:linear-gradient(135deg,#E9B5AD 48%,#fff 48%,#fff 52%,#E9B5AD 52%)}
.sfb-manager-cal-legend{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:10px;
  color:#666;
  font-size:12px;
}
.sfb-manager-cal-legend span{
  display:flex;
  align-items:center;
  gap:6px;
}
.sfb-manager-cal-legend i{
  width:16px;
  height:16px;
  border-radius:4px;
}
.sfb-manager-cal-legend i.is-free{background:#EDF3E5}
.sfb-manager-cal-legend i.is-booked{background:#E9B5AD}
.sfb-manager-cal-legend i.is-turnover{background:linear-gradient(135deg,#E9B5AD 50%,#EDF3E5 50%)}
.sfb-manager-create-card{
  padding:18px;
  border:1px solid #E5E1D8;
  border-radius:16px;
  background:#FAF9F6;
}
.sfb-manager-create-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.sfb-manager-create-grid label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  font-weight:700;
  color:#666;
}
.sfb-manager-create-grid input,
.sfb-manager-create-grid select,
.sfb-manager-create-grid textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #DCD8CF;
  border-radius:10px;
  padding:10px 11px;
  background:#fff;
  font:inherit;
}
.sfb-manager-create-check{
  justify-content:flex-end;
}
.sfb-manager-create-check span{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
}
.sfb-manager-create-check input{width:auto}
.sfb-manager-create-note{grid-column:1/-1}
.sfb-manager-create-footer{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.sfb-manager-create-booking{
  border:0;
  border-radius:10px;
  padding:11px 15px;
  background:#5B6642;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.sfb-manager-create-message{
  font-size:13px;
  font-weight:700;
}
.sfb-manager-create-message.is-ok{color:#4A6D3B}
.sfb-manager-create-message.is-error{color:#9A4037}
.sfb-manager-booking-dates{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.sfb-manager-booking-dates small,
.sfb-manager-booking-dates strong{
  display:block;
}
.sfb-manager-booking-dates small{
  color:#888;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.sfb-manager-booking-price small{
  display:block;
  margin-top:2px;
  color:#777;
  font-size:10px;
}
.sfb-cleaning-payment-filters{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.sfb-cleaning-payment-filters button{
  border:1px solid #D9D5CC;
  background:#fff;
  border-radius:999px;
  padding:7px 11px;
  font-weight:700;
  color:#5B6642;
  cursor:pointer;
}
.sfb-cleaning-payment-filters button.is-active{
  background:#5B6642;
  border-color:#5B6642;
  color:#fff;
}
.sfb-economy-main-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.sfb-economy-card{
  padding:18px;
  border:1px solid #E5E1D8;
  border-radius:15px;
  background:#fff;
}
.sfb-economy-card small,
.sfb-economy-card strong,
.sfb-economy-card span{
  display:block;
}
.sfb-economy-card small{
  color:#777;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.sfb-economy-card strong{
  margin:5px 0;
  font-size:25px;
}
.sfb-economy-card span{
  color:#777;
  font-size:11px;
}
.sfb-economy-card.is-accent{
  background:#F0F3E8;
  border-color:#D8DFC8;
}
.sfb-economy-period-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:14px 0;
}
.sfb-economy-period-grid > div{
  padding:16px;
  border:1px solid #E5E1D8;
  border-radius:14px;
  background:#FAF9F6;
}
.sfb-economy-period-grid small,
.sfb-economy-period-grid strong,
.sfb-economy-period-grid span{
  display:block;
}
.sfb-economy-period-grid strong{
  margin:4px 0;
  font-size:22px;
}
.sfb-economy-period-grid span{
  color:#5B6642;
  font-weight:700;
}
.sfb-economy-property-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.sfb-economy-property-card{
  padding:17px;
  border:1px solid #E5E1D8;
  border-radius:15px;
  background:#fff;
}
.sfb-economy-property-card h4{
  margin:0 0 12px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:20px;
}
.sfb-economy-property-card > div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  border-top:1px solid #F0EDE7;
}
.sfb-economy-property-card .is-commission{
  color:#506039;
  font-weight:700;
}
.sfb-economy-booking-table{
  border:1px solid #E5E1D8;
  border-radius:15px;
  overflow:hidden;
}
.sfb-economy-table-head,
.sfb-economy-table-row{
  display:grid;
  grid-template-columns:minmax(200px,1.4fr) 120px 120px 105px 150px 100px;
  gap:10px;
  align-items:center;
  padding:11px 14px;
}
.sfb-economy-table-head{
  background:#F7F6F2;
  color:#777;
  font-size:10px;
  text-transform:uppercase;
  font-weight:700;
}
.sfb-economy-table-row{
  border-top:1px solid #ECE9E2;
  font-size:12px;
}
.sfb-economy-table-row > span:first-child strong,
.sfb-economy-table-row > span:first-child small{
  display:block;
}
.sfb-economy-table-row > span:first-child small{
  color:#888;
}
@media(max-width:950px){
  .sfb-manager-stat-grid,
  .sfb-economy-main-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sfb-manager-create-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sfb-economy-property-grid{
    grid-template-columns:1fr 1fr;
  }
  .sfb-economy-booking-table{
    overflow-x:auto;
  }
  .sfb-economy-table-head,
  .sfb-economy-table-row{
    min-width:850px;
  }
}
@media(max-width:650px){
  .sfb-manager-topbar,
  .sfb-manager-section-title{
    flex-direction:column;
    align-items:flex-start;
  }
  .sfb-manager-nav button.is-primary{
    margin-left:0;
  }
  .sfb-manager-stat-grid,
  .sfb-economy-main-grid,
  .sfb-economy-period-grid,
  .sfb-economy-property-grid,
  .sfb-manager-create-grid{
    grid-template-columns:1fr;
  }
  .sfb-manager-upcoming-row{
    grid-template-columns:1fr;
  }
}


/* v0.12.2 calendar guest names */
.sfb-manager-cal-days{
  position:relative;
}
.sfb-manager-cal-booking-label{
  position:absolute;
  top:11px;
  z-index:2;
  height:20px;
  line-height:20px;
  padding:0 5px;
  box-sizing:border-box;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  text-align:center;
  color:#5B3D37;
  font-size:11px;
  font-weight:800;
  pointer-events:none;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}


/* v0.13.0 economy by property + partial payments */
.sfb-economy-total-commission{background:#eef1e5;border:1px solid #d8dec8;border-radius:16px;padding:12px 18px;text-align:right}
.sfb-economy-total-commission small{display:block;color:#777;text-transform:uppercase;font-size:11px;letter-spacing:.05em}
.sfb-economy-total-commission strong{font-size:24px;color:#5d6d3f}
.sfb-economy-properties{display:grid;gap:24px}
.sfb-economy-property-section{border:1px solid #e5e0d7;border-radius:22px;overflow:hidden;background:#fff}
.sfb-economy-property-heading{display:flex;align-items:center;gap:10px;padding:22px 24px 10px}
.sfb-economy-property-heading h4{margin:0;font-size:28px}
.sfb-economy-property-heading span{color:#888}
.sfb-economy-property-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 24px 22px}
.sfb-economy-property-stats>div{border:1px solid #e8e3da;border-radius:14px;padding:14px}
.sfb-economy-property-stats small,.sfb-economy-booking-row small{display:block;color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.sfb-economy-property-stats strong{display:block;font-size:22px;margin-top:5px}
.sfb-economy-property-stats .is-remaining strong{color:#9b4436}
.sfb-economy-property-stats .is-commission{background:#f2f4e9}.sfb-economy-property-stats .is-commission strong{color:#5d6d3f}
.sfb-economy-property-bookings{border-top:1px solid #e8e3da}
.sfb-economy-booking-row{display:grid;grid-template-columns:minmax(190px,2fr) repeat(4,minmax(100px,1fr)) auto;gap:18px;align-items:center;padding:16px 24px;border-bottom:1px solid #eee9e1}
.sfb-economy-booking-row:last-child{border-bottom:0}
.sfb-economy-booking-who span{display:block;color:#777;margin-top:3px}
.sfb-economy-status strong{color:#5d6d3f}
.sfb-payment-toggle,.sfb-add-payment{border:1px solid #607044;background:#fff;color:#607044;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}
.sfb-add-payment{background:#607044;color:#fff}
.sfb-payment-panel{display:none;grid-column:1/-1;background:#faf9f6;border-radius:14px;padding:15px;margin-top:2px}
.sfb-payment-fields{display:grid;grid-template-columns:1fr 1fr 1fr 2fr auto;gap:10px;align-items:end}
.sfb-payment-fields label span{display:block;font-size:12px;color:#777;margin-bottom:5px}
.sfb-payment-fields input,.sfb-payment-fields select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d8d2c8;border-radius:8px;background:#fff}
.sfb-payment-message{font-size:12px}.sfb-payment-message.is-ok{color:#607044}.sfb-payment-message.is-error{color:#a33}
.sfb-payment-history{margin-top:14px;border-top:1px solid #e1dcd3;padding-top:10px}
.sfb-payment-history>div{display:grid;grid-template-columns:100px 110px 140px 1fr;gap:12px;padding:5px 0;font-size:13px}
.sfb-payment-history em{color:#777}
@media(max-width:1100px){
 .sfb-economy-property-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sfb-economy-booking-row{grid-template-columns:repeat(3,1fr)}
 .sfb-economy-booking-who{grid-column:1/-1}
 .sfb-payment-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .sfb-economy-property-stats{grid-template-columns:1fr}
 .sfb-economy-booking-row{grid-template-columns:1fr 1fr;padding:14px}
 .sfb-payment-fields{grid-template-columns:1fr}
 .sfb-payment-history>div{grid-template-columns:1fr 1fr}
}


/* v0.13.1 clickable calendar bookings */
.sfb-manager-cal-booking-label{
  pointer-events:auto;
  cursor:pointer;
}
.sfb-manager-cal-booking-label:hover{
  text-decoration:underline;
}


/* v0.13.2 booking payment status */
.sfb-manager-booking-payment-summary{min-width:160px}
.sfb-manager-booking-payment-summary strong,
.sfb-manager-booking-payment-summary small{display:block}
.sfb-manager-booking-payment-summary strong{font-size:13px}
.sfb-manager-booking-payment-summary small{margin-top:2px;color:#777;font-size:10px}
.sfb-manager-booking-payment-summary.is-paid strong{color:#5d713e}
.sfb-manager-booking-payment-summary.is-partial strong{color:#a16d24}
.sfb-manager-booking-payment-summary.is-unpaid strong{color:#9c4338}

.sfb-booking-payment-editor{
  margin-top:14px;padding:15px;border:1px solid #e3ded5;border-radius:14px;background:#faf9f6;
}
.sfb-booking-payment-editor-head{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;
}
.sfb-booking-payment-editor-head>div{
  background:#fff;border:1px solid #ebe6de;border-radius:10px;padding:10px 12px;
}
.sfb-booking-payment-editor-head small,
.sfb-booking-payment-editor-head strong{display:block}
.sfb-booking-payment-editor-head small{font-size:10px;color:#888;text-transform:uppercase}
.sfb-booking-payment-editor-head strong{margin-top:3px}
.sfb-booking-payment-form{
  display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr auto auto;gap:9px;align-items:end;
}
.sfb-booking-payment-form label span{display:block;font-size:11px;color:#777;margin-bottom:4px}
.sfb-booking-payment-form input,
.sfb-booking-payment-form select{
  width:100%;box-sizing:border-box;padding:9px;border:1px solid #d8d2c8;border-radius:8px;background:#fff;
}
.sfb-booking-add-payment,.sfb-booking-pay-remaining{
  border:1px solid #607044;border-radius:9px;padding:9px 11px;font-weight:700;cursor:pointer;
}
.sfb-booking-add-payment{background:#607044;color:#fff}
.sfb-booking-pay-remaining{background:#fff;color:#607044}
.sfb-booking-payment-message{grid-column:1/-1;font-size:12px}
.sfb-booking-payment-message.is-ok{color:#607044}
.sfb-booking-payment-message.is-error{color:#a33}
.sfb-booking-payment-history{margin-top:13px;padding-top:11px;border-top:1px solid #e2ddd4}
.sfb-booking-payment-history>small{display:block;margin-bottom:6px;color:#777;font-weight:700}
.sfb-booking-payment-history>div{
  display:grid;grid-template-columns:100px 110px 150px 1fr;gap:10px;padding:5px 0;font-size:12px;
}
.sfb-booking-payment-history em{color:#777}

/* v0.13.2 compact economy */
.sfb-economy-overview-houses{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;
}
.sfb-economy-house-card{
  border:1px solid #e5e0d7;border-radius:18px;background:#fff;padding:18px;
}
.sfb-economy-house-head{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
}
.sfb-economy-house-head h4{
  margin:0;font-family:"Playfair Display",Georgia,serif;font-size:23px;
}
.sfb-economy-house-head span{display:block;color:#888;margin-top:2px;font-size:12px}
.sfb-economy-house-head>strong{color:#607044;font-size:12px;white-space:nowrap}
.sfb-economy-house-progress{
  height:7px;border-radius:99px;background:#eeeae2;overflow:hidden;margin:14px 0;
}
.sfb-economy-house-progress span{display:block;height:100%;background:#6b7a4d}
.sfb-economy-house-numbers>div{
  display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #eee9e1;
}
.sfb-economy-house-numbers small{color:#777}
.sfb-economy-house-numbers .is-paid strong{color:#5d713e}
.sfb-economy-house-numbers .is-remaining strong{color:#9c4338}
.sfb-economy-house-numbers .is-commission,
.sfb-economy-house-numbers .is-commission-total{color:#5d713e}
.sfb-economy-house-numbers .is-commission-total{font-weight:700}
.sfb-economy-go-bookings{
  width:100%;margin-top:14px;border:1px solid #607044;background:#fff;color:#607044;
  border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer;
}
.sfb-economy-go-bookings:hover{background:#f4f6ef}

@media(max-width:1100px){
  .sfb-economy-overview-houses{grid-template-columns:1fr}
  .sfb-booking-payment-form{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .sfb-booking-payment-editor-head{grid-template-columns:1fr 1fr}
  .sfb-booking-payment-form{grid-template-columns:1fr}
  .sfb-booking-payment-history>div{grid-template-columns:1fr 1fr}
}

/* v0.14.0 overview + yearly economy + owner settlement */
.sfb-manager-property-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sfb-manager-property-overview-card{border:1px solid #e5e0d7;border-radius:17px;background:#fff;overflow:hidden}
.sfb-manager-property-overview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px;background:#f7f6f2}
.sfb-manager-property-overview-head h4{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:20px}
.sfb-manager-property-overview-head span{font-size:11px;color:#777}
.sfb-overview-booking-link{display:block;width:100%;text-align:left;border:0;border-top:1px solid #eee9e1;background:#fff;padding:12px 15px;cursor:pointer}
.sfb-overview-booking-link:hover{background:#faf9f6}.sfb-overview-booking-link strong,.sfb-overview-booking-link span,.sfb-overview-booking-link small{display:block}
.sfb-overview-booking-link span{margin:3px 0;color:#555}.sfb-overview-booking-link small{color:#888}
.sfb-manager-property-empty{padding:18px;color:#888}
.sfb-economy-overview-houses{grid-template-columns:1fr}
.sfb-economy-year-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.sfb-economy-year-card{border:1px solid #e7e2d9;border-radius:14px;padding:14px;background:#faf9f6}
.sfb-economy-year-card h5{margin:0 0 8px;font-size:21px}
.sfb-economy-year-card>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #ebe6dd}
.sfb-economy-year-card .is-remaining strong{color:#9c4338}.sfb-economy-year-card .is-commission{color:#5d713e}
.sfb-owner-settlement{margin-top:16px;padding:15px;border:1px solid #dfe4d3;border-radius:14px;background:#f5f7f0}
.sfb-owner-settlement h5{margin:0 0 10px;font-size:19px}
.sfb-owner-settlement-numbers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sfb-owner-settlement-numbers>div{padding:10px;background:#fff;border:1px solid #e4e7dc;border-radius:10px}
.sfb-owner-settlement-numbers small,.sfb-owner-settlement-numbers strong{display:block}
.sfb-owner-settlement-numbers small{color:#777;font-size:10px;text-transform:uppercase}.sfb-owner-settlement-numbers strong{margin-top:4px}
.sfb-owner-settlement-numbers .is-owner-due{background:#eef2e4}.sfb-owner-settlement-numbers .is-owner-due strong{color:#53643a;font-size:18px}
.sfb-owner-entry-form{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 2fr auto;gap:7px;margin-top:12px}
.sfb-owner-entry-form input,.sfb-owner-entry-form select{min-width:0;padding:9px;border:1px solid #d7d2c8;border-radius:8px;background:#fff}
.sfb-owner-entry-save{border:0;border-radius:8px;padding:9px 12px;background:#607044;color:#fff;font-weight:700;cursor:pointer}
.sfb-owner-entry-message{grid-column:1/-1;font-size:12px}.sfb-owner-entry-message.is-ok{color:#607044}.sfb-owner-entry-message.is-error{color:#a33}
.sfb-owner-ledger{margin-top:12px;border-top:1px solid #dde1d5;padding-top:8px}
.sfb-owner-ledger>div{display:grid;grid-template-columns:90px 90px 120px 100px 1fr;gap:10px;padding:5px 0;font-size:12px}.sfb-owner-ledger em{color:#777}
@media(max-width:1000px){.sfb-manager-property-overview-grid{grid-template-columns:1fr}.sfb-owner-settlement-numbers{grid-template-columns:1fr 1fr}.sfb-owner-entry-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.sfb-economy-year-grid,.sfb-owner-settlement-numbers,.sfb-owner-entry-form{grid-template-columns:1fr}}


/* v0.14.1 overview booking cards */
.sfb-manager-property-overview-card{
  overflow:hidden;
}
.sfb-overview-booking-link{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  background:#fff;
  padding:14px 16px;
  color:#2f2f2f;
}
.sfb-overview-booking-link:first-of-type{
  border-top:0 !important;
}
.sfb-overview-booking-link strong{
  color:#2f2f2f;
}
.sfb-overview-booking-link:hover{
  background:#f8f7f3;
}
.sfb-overview-booking-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.sfb-overview-booking-top em{
  flex:0 0 auto;
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.02em;
}
.sfb-overview-booking-link.is-current-stay{
  background:#eef4e7;
  border-top-color:#d9e4cb !important;
}
.sfb-overview-booking-link.is-current-stay:hover{
  background:#e8f0df;
}
.sfb-overview-booking-link.is-current-stay .sfb-overview-booking-top em{
  background:#66774a;
  color:#fff;
}
.sfb-overview-booking-link.is-checkout-today{
  background:#f8f1df;
  border-top-color:#eadfbe !important;
}
.sfb-overview-booking-link.is-checkout-today:hover{
  background:#f4ebd3;
}
.sfb-overview-booking-link.is-checkout-today .sfb-overview-booking-top em{
  background:#9b7a37;
  color:#fff;
}
.sfb-overview-booking-link.is-arrival-today{
  background:#edf1f6;
  border-top-color:#d9e0e9 !important;
}
.sfb-overview-booking-link.is-arrival-today .sfb-overview-booking-top em{
  background:#65758a;
  color:#fff;
}

/* v0.14.3 owner page dashboard-style bookings */
.sfb-owner-dashboard-bookings{
  border:1px solid #e5e0d7;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.sfb-owner-dashboard-booking{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid #eee9e1;
  background:#fff;
}
.sfb-owner-dashboard-booking:last-child{border-bottom:0}
.sfb-owner-dashboard-booking-main strong,
.sfb-owner-dashboard-booking-main span,
.sfb-owner-dashboard-booking-main small{display:block}
.sfb-owner-dashboard-booking-main span{margin:3px 0;color:#555}
.sfb-owner-dashboard-booking-main small{color:#888}
.sfb-owner-dashboard-booking-top{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
}
.sfb-owner-dashboard-booking-top em{
  border-radius:999px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:800;
}
.sfb-owner-dashboard-booking.is-current-stay{background:#eef4e7}
.sfb-owner-dashboard-booking.is-current-stay em{background:#66774a;color:#fff}
.sfb-owner-dashboard-booking.is-checkout-today{background:#f8f1df}
.sfb-owner-dashboard-booking.is-checkout-today em{background:#9b7a37;color:#fff}
.sfb-owner-dashboard-booking.is-arrival-today{background:#edf1f6}
.sfb-owner-dashboard-booking.is-arrival-today em{background:#65758a;color:#fff}
.sfb-owner-dashboard-booking .sfb-owner-edit-panel{
  grid-column:1/-1;
}

/* v0.14.3 editable owner ledger */
.sfb-owner-ledger-row{
  display:grid !important;
  grid-template-columns:90px 90px 140px 110px minmax(150px,1fr) auto !important;
  align-items:center;
  gap:10px;
}
.sfb-owner-ledger-actions{display:flex;gap:5px}
.sfb-owner-ledger-actions button{
  border:1px solid #d6d0c6;background:#fff;border-radius:7px;padding:5px 8px;cursor:pointer;font-size:11px;
}
.sfb-owner-ledger-delete{color:#9c4338}
.sfb-owner-ledger-edit-panel{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr 2fr auto;
  gap:7px;
  padding:10px;
  background:#fff;
  border:1px solid #e2ddd4;
  border-radius:10px;
}
.sfb-owner-ledger-edit-panel[hidden]{display:none}
.sfb-owner-ledger-edit-panel input,
.sfb-owner-ledger-edit-panel select{
  min-width:0;padding:8px;border:1px solid #d7d2c8;border-radius:7px;background:#fff;
}
.sfb-owner-ledger-save{
  border:0;border-radius:7px;background:#607044;color:#fff;font-weight:700;padding:8px 10px;cursor:pointer;
}
.sfb-owner-ledger-message{grid-column:1/-1;font-size:11px}
.sfb-owner-ledger-message.is-ok{color:#607044}.sfb-owner-ledger-message.is-error{color:#a33}
@media(max-width:900px){
  .sfb-owner-ledger-row{grid-template-columns:1fr 1fr !important}
  .sfb-owner-ledger-edit-panel{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .sfb-owner-dashboard-booking{grid-template-columns:1fr}
  .sfb-owner-ledger-row,.sfb-owner-ledger-edit-panel{grid-template-columns:1fr !important}
}

/* v0.14.5 check-in/out times */
.sfb-cleaning-stay-dates em{
  display:block;
  margin-top:3px;
  color:#66774a;
  font-style:normal;
  font-weight:800;
  font-size:12px;
}


/* v0.14.6 manager calendar today + completed bookings + mobile economy */
.sfb-manager-cal-head-day.is-today{
  background:#5f6f43 !important;
  color:#fff !important;
  border-radius:8px 8px 0 0;
}
.sfb-manager-cal-head-day.is-today small,
.sfb-manager-cal-head-day.is-today strong{
  color:#fff !important;
}
.sfb-manager-cal-day.is-today{
  box-shadow:inset 2px 0 0 #5f6f43,inset -2px 0 0 #5f6f43;
}
.sfb-manager-booking.is-completed-booking{
  background:#f1f1ef;
  opacity:.78;
}
.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact{
  background:#f1f1ef;
}
.sfb-manager-booking.is-completed-booking .sfb-manager-summary-name,
.sfb-manager-booking.is-completed-booking .sfb-manager-booking-dates strong{
  color:#777;
}
.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact::before{
  content:"Afsluttet";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  margin-right:6px;
  padding:4px 8px;
  border-radius:999px;
  background:#deded9;
  color:#666;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

@media(max-width:700px){
  .sfb-manager-portal,
  .sfb-manager-section,
  .sfb-economy-overview-houses,
  .sfb-economy-house-card,
  .sfb-owner-settlement{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .sfb-economy-house-card{
    padding:12px !important;
    overflow:hidden;
  }

  .sfb-economy-year-grid{
    grid-template-columns:1fr !important;
  }

  .sfb-owner-settlement{
    padding:12px !important;
  }

  .sfb-owner-settlement-numbers,
  .sfb-owner-entry-form{
    grid-template-columns:1fr !important;
  }

  .sfb-owner-entry-form input,
  .sfb-owner-entry-form select,
  .sfb-owner-entry-form button{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .sfb-owner-ledger{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .sfb-owner-ledger-row{
    min-width:560px;
  }

  .sfb-economy-total-commission{
    width:100%;
    box-sizing:border-box;
    text-align:left;
  }

  .sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact::before{
    margin:0 0 6px 0;
  }
}


/* v0.14.7 unified rounded form fields */
.sfb-portal input[type="text"],
.sfb-portal input[type="email"],
.sfb-portal input[type="tel"],
.sfb-portal input[type="number"],
.sfb-portal input[type="date"],
.sfb-portal input[type="time"],
.sfb-portal input[type="password"],
.sfb-portal select,
.sfb-portal textarea,
.sfb-booking-form input[type="text"],
.sfb-booking-form input[type="email"],
.sfb-booking-form input[type="tel"],
.sfb-booking-form input[type="number"],
.sfb-booking-form input[type="date"],
.sfb-booking-form input[type="time"],
.sfb-booking-form select,
.sfb-booking-form textarea,
.sfb-contact-form input[type="text"],
.sfb-contact-form input[type="email"],
.sfb-contact-form input[type="tel"],
.sfb-contact-form select,
.sfb-contact-form textarea,
.sfb-frontend-booking input[type="text"],
.sfb-frontend-booking input[type="email"],
.sfb-frontend-booking input[type="tel"],
.sfb-frontend-booking input[type="number"],
.sfb-frontend-booking input[type="date"],
.sfb-frontend-booking input[type="time"],
.sfb-frontend-booking select,
.sfb-frontend-booking textarea{
  border:1px solid #d9d4ca !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:none !important;
  min-height:52px;
  padding:12px 16px !important;
  box-sizing:border-box;
  outline:none;
}

.sfb-portal textarea,
.sfb-booking-form textarea,
.sfb-contact-form textarea,
.sfb-frontend-booking textarea{
  min-height:110px;
  resize:vertical;
}

.sfb-portal input:focus,
.sfb-portal select:focus,
.sfb-portal textarea:focus,
.sfb-booking-form input:focus,
.sfb-booking-form select:focus,
.sfb-booking-form textarea:focus,
.sfb-contact-form input:focus,
.sfb-contact-form select:focus,
.sfb-contact-form textarea:focus,
.sfb-frontend-booking input:focus,
.sfb-frontend-booking select:focus,
.sfb-frontend-booking textarea:focus{
  border-color:#647246 !important;
  box-shadow:0 0 0 3px rgba(100,114,70,.10) !important;
}

.sfb-portal input[type="checkbox"],
.sfb-portal input[type="radio"],
.sfb-booking-form input[type="checkbox"],
.sfb-booking-form input[type="radio"],
.sfb-contact-form input[type="checkbox"],
.sfb-contact-form input[type="radio"],
.sfb-frontend-booking input[type="checkbox"],
.sfb-frontend-booking input[type="radio"]{
  min-height:0;
  padding:0 !important;
  border-radius:4px !important;
}

@media(max-width:700px){
  .sfb-portal input,
  .sfb-portal select,
  .sfb-portal textarea,
  .sfb-booking-form input,
  .sfb-booking-form select,
  .sfb-booking-form textarea,
  .sfb-contact-form input,
  .sfb-contact-form select,
  .sfb-contact-form textarea,
  .sfb-frontend-booking input,
  .sfb-frontend-booking select,
  .sfb-frontend-booking textarea{
    width:100%;
    max-width:100%;
  }
}

/* v0.14.8 cleaning payment batches + receipts */
.sfb-manager-cleaning-row{grid-template-columns:auto minmax(220px,1fr) 90px 130px 90px!important}
.sfb-cleaning-select{display:flex;align-items:center;justify-content:center}
.sfb-cleaning-batch-select{width:20px!important;height:20px!important;min-height:0!important}
.sfb-cleaning-batch-box{margin-top:16px;padding:16px;border:1px solid #e1ddd4;border-radius:18px;background:#faf9f6;display:grid;grid-template-columns:minmax(180px,1.5fr) 150px 130px minmax(180px,1fr) auto;gap:9px;align-items:center}
.sfb-cleaning-batch-box>div span{display:block;color:#777;font-size:12px;margin-top:3px}
.sfb-cleaning-batch-box input,.sfb-cleaning-batch-box select{min-width:0;border:1px solid #d9d4ca;border-radius:14px;padding:10px;background:#fff}
.sfb-cleaning-batch-pay{border:0;border-radius:14px;background:#607044;color:#fff;font-weight:800;padding:11px 15px;cursor:pointer}
.sfb-cleaning-batch-message{grid-column:1/-1;font-size:12px}
.sfb-cleaning-history{margin-top:20px}.sfb-cleaning-history h4{margin:0 0 10px;font-size:19px}
.sfb-cleaning-history-item{border:1px solid #e4dfd6;border-radius:15px;background:#fff;margin:8px 0;overflow:hidden}
.sfb-cleaning-history-item summary{display:grid;grid-template-columns:120px 1fr 100px;gap:10px;padding:13px 15px;cursor:pointer}
.sfb-cleaning-history-item summary b{text-align:right}
.sfb-cleaning-history-detail{padding:0 15px 13px}.sfb-cleaning-history-detail>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #eee9e1;padding:8px 0}.sfb-cleaning-history-detail p{margin:7px 0 0;color:#666;font-size:12px}
@media(max-width:700px){
 .sfb-manager-cleaning-row{grid-template-columns:auto 1fr!important}
 .sfb-cleaning-batch-box{grid-template-columns:1fr}
 .sfb-cleaning-batch-message{grid-column:1}
 .sfb-cleaning-history-item summary{grid-template-columns:1fr auto}
 .sfb-cleaning-history-item summary span{grid-column:1}
}


/* v0.14.9 cleaning layout cleanup */
.sfb-manager-cleaning-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.sfb-manager-cleaning-row{
  display:grid !important;
  grid-template-columns:34px minmax(260px,1fr) 100px 150px 100px !important;
  align-items:center;
  gap:14px;
  padding:14px 16px !important;
  border:1px solid #e5e0d7 !important;
  border-radius:16px !important;
  background:#fff !important;
}

.sfb-manager-cleaning-row.is-paid{
  background:#f2f6ec !important;
  border-color:#dce5cf !important;
}

.sfb-manager-cleaning-row > div:nth-child(2){
  min-width:0;
}

.sfb-manager-cleaning-row > div:nth-child(2) strong,
.sfb-manager-cleaning-row > div:nth-child(2) span,
.sfb-manager-cleaning-row > div:nth-child(2) small{
  display:block;
}

.sfb-manager-cleaning-row > div:nth-child(2) strong{
  margin-bottom:3px;
  font-size:15px;
}

.sfb-manager-cleaning-row > div:nth-child(2) span{
  color:#555;
  font-size:13px;
  line-height:1.35;
}

.sfb-manager-cleaning-row > div:nth-child(2) small{
  margin-top:3px;
  color:#888;
  font-size:12px;
}

.sfb-manager-cleaning-amount{
  font-size:17px !important;
  font-weight:800;
  white-space:nowrap;
}

.sfb-manager-cleaning-check{
  display:flex !important;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  font-weight:700;
}

.sfb-manager-cleaning-paidat{
  text-align:right;
  color:#777;
  font-size:12px;
}

.sfb-cleaning-select{
  display:flex;
  align-items:center;
  justify-content:center;
}

.sfb-cleaning-batch-select,
.sfb-manager-cleaning-paid{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:18px !important;
  height:18px !important;
  min-height:0 !important;
  padding:0 !important;
  border-radius:4px !important;
}

/* Restore proper green portal buttons instead of white */
.sfb-manager-portal button,
.sfb-owner-portal button,
.sfb-cleaning-portal button{
  font-family:inherit;
}

.sfb-manager-nav button.is-primary,
.sfb-manager-create-booking,
.sfb-manager-save,
.sfb-booking-add-payment,
.sfb-booking-pay-remaining,
.sfb-cleaning-batch-pay,
.sfb-owner-entry-save,
.sfb-owner-ledger-save,
.sfb-owner-create,
.sfb-owner-save-edit{
  background:#607044 !important;
  color:#fff !important;
  border:1px solid #607044 !important;
  border-radius:14px !important;
  box-shadow:none !important;
}

.sfb-manager-nav button.is-primary:hover,
.sfb-manager-create-booking:hover,
.sfb-manager-save:hover,
.sfb-booking-add-payment:hover,
.sfb-booking-pay-remaining:hover,
.sfb-cleaning-batch-pay:hover,
.sfb-owner-entry-save:hover,
.sfb-owner-ledger-save:hover,
.sfb-owner-create:hover,
.sfb-owner-save-edit:hover{
  background:#53613b !important;
  border-color:#53613b !important;
  color:#fff !important;
}

.sfb-cleaning-payment-filters button{
  border:1px solid #d8d2c8 !important;
  background:#fff !important;
  color:#444 !important;
  border-radius:999px !important;
  padding:8px 14px !important;
}

.sfb-cleaning-payment-filters button.is-active{
  background:#607044 !important;
  border-color:#607044 !important;
  color:#fff !important;
}

/* Batch payment box: cleaner structure on tablet */
.sfb-cleaning-batch-box{
  grid-template-columns:minmax(220px,1.4fr) 150px 140px minmax(180px,1fr) auto !important;
  padding:16px !important;
  gap:10px !important;
}

@media(max-width:1050px){
  .sfb-manager-cleaning-row{
    grid-template-columns:34px minmax(0,1fr) 90px 140px !important;
  }
  .sfb-manager-cleaning-paidat{
    grid-column:2 / -1;
    text-align:left;
    margin-top:-6px;
  }
  .sfb-cleaning-batch-box{
    grid-template-columns:1fr 1fr !important;
  }
  .sfb-cleaning-batch-box > div:first-child,
  .sfb-cleaning-batch-note,
  .sfb-cleaning-batch-pay,
  .sfb-cleaning-batch-message{
    grid-column:1 / -1;
  }
}

@media(max-width:700px){
  .sfb-manager-cleaning-row{
    grid-template-columns:28px 1fr !important;
    gap:8px 10px;
    padding:13px !important;
  }

  .sfb-manager-cleaning-row > div:nth-child(2){
    grid-column:2;
  }

  .sfb-manager-cleaning-amount{
    grid-column:2;
    font-size:16px !important;
  }

  .sfb-manager-cleaning-check{
    grid-column:2;
  }

  .sfb-manager-cleaning-paidat{
    grid-column:2;
    text-align:left;
    margin:0;
  }

  .sfb-cleaning-batch-box{
    grid-template-columns:1fr !important;
  }

  .sfb-cleaning-batch-box > *{
    grid-column:1 !important;
    width:100%;
    box-sizing:border-box;
  }

  .sfb-manager-cleaning-summary{
    grid-template-columns:1fr 1fr !important;
  }
}


/* v0.15.0 - Bookinger: same clean full-width dashboard style */
.sfb-manager-property-group{
  border:1px solid #e5e0d7 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
  margin-bottom:18px !important;
}

.sfb-manager-group-toggle{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:15px 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#f7f6f2 !important;
  color:#2f2f2f !important;
  text-align:left !important;
}

.sfb-manager-group-toggle span:first-child{
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:22px !important;
  font-weight:700 !important;
}

.sfb-manager-booking{
  border:0 !important;
  border-top:1px solid #ece7de !important;
  border-radius:0 !important;
  margin:0 !important;
  background:#fff !important;
  opacity:1 !important;
}

.sfb-manager-booking-compact{
  display:grid !important;
  grid-template-columns:170px minmax(220px,1.5fr) 150px 170px 110px !important;
  gap:16px !important;
  align-items:center !important;
  min-height:86px !important;
  padding:14px 18px !important;
  background:#fff !important;
}

.sfb-manager-booking.is-completed-booking,
.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact{
  background:#f2f2ef !important;
}

.sfb-manager-booking.is-completed-booking{
  opacity:1 !important;
}

.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact::before{
  content:"Afsluttet";
  grid-column:1 / -1;
  justify-self:start;
  margin:0 0 -6px 0 !important;
  padding:4px 9px;
  border-radius:999px;
  background:#deded8;
  color:#666;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.sfb-manager-booking-dates{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}

.sfb-manager-booking-dates > div small,
.sfb-manager-booking-dates > div strong,
.sfb-manager-booking-guest strong,
.sfb-manager-booking-guest span,
.sfb-manager-booking-price strong,
.sfb-manager-booking-price small,
.sfb-manager-booking-payment-summary strong,
.sfb-manager-booking-payment-summary small{
  display:block !important;
}

.sfb-manager-booking-dates small{
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  color:#8a8a84 !important;
  font-size:9px !important;
}

.sfb-manager-booking-dates strong{
  margin-top:3px !important;
  font-size:14px !important;
}

.sfb-manager-booking-guest{
  min-width:0 !important;
}

.sfb-manager-booking-guest strong{
  font-size:16px !important;
  color:#2f2f2f !important;
}

.sfb-manager-booking-guest span{
  margin-top:4px !important;
  color:#888 !important;
  font-size:12px !important;
}

.sfb-manager-booking-price{
  text-align:right !important;
}

.sfb-manager-booking-price strong{
  font-size:16px !important;
}

.sfb-manager-booking-price small{
  margin-top:4px !important;
  color:#888 !important;
  font-size:10px !important;
}

.sfb-manager-booking-payment-summary{
  min-width:0 !important;
  text-align:left !important;
}

.sfb-manager-booking-payment-summary strong{
  font-size:13px !important;
}

.sfb-manager-booking-edit-toggle,
.sfb-manager-sync,
.sfb-manager-create-booking,
.sfb-manager-save,
.sfb-booking-add-payment,
.sfb-booking-pay-remaining,
.sfb-cleaning-batch-pay,
.sfb-owner-entry-save,
.sfb-owner-ledger-save,
.sfb-owner-create,
.sfb-owner-save-edit,
.sfb-economy-go-bookings{
  background:#607044 !important;
  color:#fff !important;
  border:1px solid #607044 !important;
  border-radius:14px !important;
  box-shadow:none !important;
  font-weight:800 !important;
}

.sfb-manager-booking-edit-toggle{
  width:100% !important;
  min-width:96px !important;
  padding:10px 14px !important;
}

.sfb-manager-booking-edit-toggle:hover,
.sfb-manager-sync:hover,
.sfb-manager-create-booking:hover,
.sfb-manager-save:hover,
.sfb-booking-add-payment:hover,
.sfb-booking-pay-remaining:hover,
.sfb-cleaning-batch-pay:hover,
.sfb-owner-entry-save:hover,
.sfb-owner-ledger-save:hover,
.sfb-owner-create:hover,
.sfb-owner-save-edit:hover,
.sfb-economy-go-bookings:hover{
  background:#53613b !important;
  border-color:#53613b !important;
  color:#fff !important;
}

.sfb-manager-booking-edit-panel{
  padding:16px 18px 18px !important;
  background:#faf9f6 !important;
  border-top:1px solid #e8e2d8 !important;
}

@media(max-width:1100px){
  .sfb-manager-booking-compact{
    grid-template-columns:150px minmax(180px,1.5fr) 130px 145px 100px !important;
    gap:12px !important;
    padding:13px 14px !important;
  }
}

@media(max-width:850px){
  .sfb-manager-booking-compact{
    grid-template-columns:1fr 1fr !important;
    gap:10px 14px !important;
    padding:14px 16px !important;
  }

  .sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact::before{
    grid-column:1 / -1 !important;
  }

  .sfb-manager-booking-dates{
    grid-column:1 / -1 !important;
  }

  .sfb-manager-booking-guest{
    grid-column:1 !important;
  }

  .sfb-manager-booking-price{
    grid-column:2 !important;
    text-align:right !important;
  }

  .sfb-manager-booking-payment-summary{
    grid-column:1 !important;
  }

  .sfb-manager-booking-edit-toggle{
    grid-column:2 !important;
    justify-self:end !important;
    width:auto !important;
    min-width:120px !important;
  }
}

@media(max-width:600px){
  .sfb-manager-booking-compact{
    grid-template-columns:1fr !important;
  }

  .sfb-manager-booking-dates,
  .sfb-manager-booking-guest,
  .sfb-manager-booking-price,
  .sfb-manager-booking-payment-summary,
  .sfb-manager-booking-edit-toggle{
    grid-column:1 !important;
  }

  .sfb-manager-booking-price{
    text-align:left !important;
  }

  .sfb-manager-booking-edit-toggle{
    width:100% !important;
    justify-self:stretch !important;
  }
}


/* v0.15.1 - active manager tabs are green */
.sfb-manager-nav button.is-active:not(.is-primary){
  background:#607044 !important;
  color:#fff !important;
  border-color:#607044 !important;
  box-shadow:none !important;
}
.sfb-manager-nav button.is-active:not(.is-primary):hover{
  background:#53613b !important;
  color:#fff !important;
}

/* v0.15.1 - booking rows styled like the Overblik cards */
.sfb-manager-property-group{
  border:1px solid #e5e0d7 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
}

.sfb-manager-group-toggle{
  background:#f7f6f2 !important;
  border:0 !important;
  border-radius:0 !important;
  color:#2f2f2f !important;
}

.sfb-manager-booking{
  position:relative;
  border:0 !important;
  border-top:1px solid #eee9e1 !important;
  border-radius:0 !important;
  background:#fff !important;
  margin:0 !important;
}

.sfb-manager-booking-compact{
  display:grid !important;
  grid-template-columns:minmax(280px,1.8fr) 150px 155px 105px !important;
  grid-template-areas:
    "guest price payment edit"
    "dates price payment edit" !important;
  gap:4px 18px !important;
  align-items:center !important;
  min-height:94px !important;
  padding:15px 17px !important;
  background:#fff !important;
}

.sfb-manager-booking-guest{
  grid-area:guest !important;
  min-width:0 !important;
}

.sfb-manager-booking-guest strong{
  display:block !important;
  font-size:17px !important;
  line-height:1.2 !important;
  color:#2f2f2f !important;
}

.sfb-manager-booking-guest span{
  display:block !important;
  margin-top:4px !important;
  color:#888 !important;
  font-size:12px !important;
}

.sfb-manager-booking-dates{
  grid-area:dates !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  margin-top:5px !important;
}

.sfb-manager-booking-dates > div{
  display:flex !important;
  align-items:baseline !important;
  gap:5px !important;
}

.sfb-manager-booking-dates > div:first-child::after{
  content:"→";
  margin-left:11px;
  color:#999;
  font-weight:400;
}

.sfb-manager-booking-dates small{
  display:none !important;
}

.sfb-manager-booking-dates strong{
  margin:0 !important;
  font-size:13px !important;
  color:#555 !important;
  font-weight:600 !important;
}

.sfb-manager-booking-price{
  grid-area:price !important;
  align-self:center !important;
  text-align:right !important;
}

.sfb-manager-booking-price strong{
  display:block !important;
  font-size:16px !important;
}

.sfb-manager-booking-price small{
  display:block !important;
  margin-top:4px !important;
  color:#888 !important;
  font-size:10px !important;
}

.sfb-manager-booking-payment-summary{
  grid-area:payment !important;
  align-self:center !important;
  min-width:0 !important;
}

.sfb-manager-booking-payment-summary strong,
.sfb-manager-booking-payment-summary small{
  display:block !important;
}

.sfb-manager-booking-edit-toggle{
  grid-area:edit !important;
  align-self:center !important;
  justify-self:stretch !important;
  width:100% !important;
  min-width:0 !important;
  background:#607044 !important;
  color:#fff !important;
  border:1px solid #607044 !important;
  border-radius:13px !important;
  padding:10px 12px !important;
  font-weight:800 !important;
}

.sfb-manager-booking-edit-toggle:hover{
  background:#53613b !important;
  border-color:#53613b !important;
  color:#fff !important;
}

/* completed stays: same idea as current stay/checkout colors in Overblik */
.sfb-manager-booking.is-completed-booking,
.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact{
  background:#f1f1ee !important;
  opacity:1 !important;
}

.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact::before{
  content:"Afsluttet";
  position:absolute !important;
  top:11px !important;
  right:14px !important;
  margin:0 !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:#deded8 !important;
  color:#666 !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  z-index:2;
}

/* active/current booking gets a soft green tint like Overblik */
.sfb-manager-booking:not(.is-completed-booking) .sfb-manager-booking-compact{
  transition:background .15s ease;
}

@media(max-width:900px){
  .sfb-manager-booking-compact{
    grid-template-columns:minmax(220px,1fr) 120px 120px !important;
    grid-template-areas:
      "guest price payment"
      "dates price payment"
      "edit edit edit" !important;
    gap:6px 14px !important;
    padding:14px 15px !important;
  }

  .sfb-manager-booking-edit-toggle{
    margin-top:6px !important;
    justify-self:start !important;
    width:auto !important;
    min-width:125px !important;
  }
}

@media(max-width:650px){
  .sfb-manager-nav{
    gap:6px !important;
  }

  .sfb-manager-nav button{
    flex:1 1 auto !important;
    text-align:center !important;
  }

  .sfb-manager-booking-compact{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "guest"
      "dates"
      "price"
      "payment"
      "edit" !important;
    gap:8px !important;
  }

  .sfb-manager-booking-price{
    text-align:left !important;
  }

  .sfb-manager-booking-edit-toggle{
    width:100% !important;
    justify-self:stretch !important;
  }

  .sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact::before{
    position:static !important;
    grid-area:guest !important;
    justify-self:end !important;
    align-self:start !important;
  }
}


/* v0.15.2 portal language selector */
.sfb-manager-actions,
.sfb-portal-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.sfb-language-select-wrap{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
}
.sfb-language-select-wrap > span{
  font-size:11px;
  color:#777;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.sfb-portal-language-select{
  min-height:40px !important;
  height:40px !important;
  width:auto !important;
  min-width:112px !important;
  padding:7px 30px 7px 11px !important;
  border:1px solid #d9d4ca !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#333 !important;
  font-size:13px !important;
}
@media(max-width:700px){
  .sfb-manager-actions,
  .sfb-portal-head-actions{
    flex-wrap:wrap;
  }
  .sfb-language-select-wrap{
    width:auto;
  }
  .sfb-portal-language-select{
    width:auto !important;
    min-width:105px !important;
  }
}


/* v0.15.3 - Manager bookings made visually almost identical to Overblik */
.sfb-manager-property-group{
  border:1px solid #e5e0d7 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
}

.sfb-manager-group-toggle{
  padding:15px 18px !important;
  background:#f7f6f2 !important;
  border:0 !important;
  border-radius:0 !important;
}

.sfb-manager-booking{
  border:0 !important;
  border-top:1px solid #eee9e1 !important;
  border-radius:0 !important;
  margin:0 !important;
  background:#fff !important;
}

.sfb-manager-booking-compact{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 170px 145px 105px !important;
  grid-template-areas:
    "main price payment edit" !important;
  align-items:center !important;
  gap:16px !important;
  min-height:86px !important;
  padding:14px 16px !important;
  background:#fff !important;
}

/* Put guest + dates into the same visual block as Overblik */
.sfb-manager-booking-guest{
  grid-area:main !important;
  min-width:0 !important;
  padding-right:8px !important;
}

.sfb-manager-booking-guest strong{
  display:block !important;
  font-size:17px !important;
  line-height:1.2 !important;
  color:#2f2f2f !important;
  font-weight:800 !important;
}

.sfb-manager-booking-guest span{
  display:block !important;
  margin-top:4px !important;
  color:#888 !important;
  font-size:12px !important;
}

.sfb-manager-booking-dates{
  grid-area:main !important;
  align-self:end !important;
  display:flex !important;
  gap:0 !important;
  margin-top:36px !important;
  pointer-events:none;
}

.sfb-manager-booking-dates > div{
  display:inline-flex !important;
  align-items:center !important;
}

.sfb-manager-booking-dates > div:first-child::after{
  content:"→";
  margin:0 8px !important;
  color:#888 !important;
  font-weight:400 !important;
}

.sfb-manager-booking-dates small{
  display:none !important;
}

.sfb-manager-booking-dates strong{
  font-size:13px !important;
  font-weight:600 !important;
  color:#555 !important;
  margin:0 !important;
}

.sfb-manager-booking-price{
  grid-area:price !important;
  text-align:right !important;
  align-self:center !important;
}

.sfb-manager-booking-price strong{
  font-size:16px !important;
}

.sfb-manager-booking-price small{
  font-size:10px !important;
  color:#888 !important;
  margin-top:4px !important;
}

.sfb-manager-booking-payment-summary{
  grid-area:payment !important;
  align-self:center !important;
  min-width:0 !important;
}

.sfb-manager-booking-edit-toggle{
  grid-area:edit !important;
  align-self:center !important;
  width:100% !important;
  min-width:0 !important;
  background:#607044 !important;
  color:#fff !important;
  border:1px solid #607044 !important;
  border-radius:13px !important;
  padding:10px 12px !important;
  font-weight:800 !important;
}

/* Current / checkout / arrival styles align with Overblik */
.sfb-manager-booking.is-current-stay,
.sfb-manager-booking.is-current-stay .sfb-manager-booking-compact{
  background:#eef4e7 !important;
}

.sfb-manager-booking.is-checkout-today,
.sfb-manager-booking.is-checkout-today .sfb-manager-booking-compact{
  background:#f8f1df !important;
}

.sfb-manager-booking.is-arrival-today,
.sfb-manager-booking.is-arrival-today .sfb-manager-booking-compact{
  background:#edf1f6 !important;
}

/* Completed stays remain muted */
.sfb-manager-booking.is-completed-booking,
.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact{
  background:#f1f1ee !important;
}

.sfb-manager-booking.is-completed-booking .sfb-manager-booking-compact::before{
  content:"Afsluttet";
  position:absolute !important;
  top:11px !important;
  right:14px !important;
  margin:0 !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:#deded8 !important;
  color:#666 !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

@media(max-width:900px){
  .sfb-manager-booking-compact{
    grid-template-columns:minmax(0,1fr) 135px 120px !important;
    grid-template-areas:
      "main price payment"
      "edit edit edit" !important;
    gap:10px 14px !important;
    padding:14px 15px !important;
  }

  .sfb-manager-booking-edit-toggle{
    justify-self:start !important;
    width:auto !important;
    min-width:130px !important;
  }
}

@media(max-width:650px){
  .sfb-manager-booking-compact{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "main"
      "price"
      "payment"
      "edit" !important;
  }

  .sfb-manager-booking-dates{
    margin-top:38px !important;
  }

  .sfb-manager-booking-price{
    text-align:left !important;
    margin-top:6px !important;
  }

  .sfb-manager-booking-edit-toggle{
    width:100% !important;
    justify-self:stretch !important;
  }
}


/* v0.15.4 STABLE UI RESET */

/* Active manager navigation must NEVER become a white blank tab */
.sfb-portal.sfb-manager-portal nav.sfb-manager-nav > button.is-active,
.sfb-portal.sfb-manager-portal nav.sfb-manager-nav > button.is-active:hover,
.sfb-portal.sfb-manager-portal nav.sfb-manager-nav > button.is-active:focus{
  background:#607044 !important;
  color:#fff !important;
  border:1px solid #607044 !important;
  box-shadow:none !important;
  opacity:1 !important;
}

/* Compact, rounded language pill */
.sfb-language-select-wrap{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  height:42px !important;
  margin:0 !important;
  padding:0 8px 0 10px !important;
  border:1px solid #ddd8cf !important;
  border-radius:999px !important;
  background:#faf9f6 !important;
  box-sizing:border-box !important;
}
.sfb-language-icon{
  font-size:14px !important;
  line-height:1 !important;
}
.sfb-portal .sfb-portal-language-select{
  appearance:auto !important;
  -webkit-appearance:menulist !important;
  width:auto !important;
  min-width:88px !important;
  height:38px !important;
  min-height:38px !important;
  margin:0 !important;
  padding:5px 4px !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#3b3b38 !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:700 !important;
}

/* Cleaning rows: simple Mima/Overview-like cards, no text collision */
.sfb-manager-cleaning-list{
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  margin-top:14px !important;
}
.sfb-manager-cleaning-row{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) 100px 150px !important;
  align-items:center !important;
  gap:14px !important;
  min-height:82px !important;
  margin:0 !important;
  padding:13px 16px !important;
  border:1px solid #e5e0d7 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}
.sfb-manager-cleaning-row.is-paid{
  background:#f1f6eb !important;
  border-color:#dce5d1 !important;
}
.sfb-cleaning-row-main{
  min-width:0 !important;
}
.sfb-cleaning-row-main strong{
  display:block !important;
  margin:0 !important;
  color:#2f2f2f !important;
  font-size:15px !important;
  line-height:1.25 !important;
}
.sfb-cleaning-row-main .sfb-cleaning-row-date{
  display:block !important;
  margin-top:4px !important;
  color:#666 !important;
  font-size:12px !important;
  line-height:1.3 !important;
}
.sfb-cleaning-row-main small{
  display:block !important;
  margin-top:3px !important;
  color:#8a8a84 !important;
  font-size:12px !important;
}
.sfb-cleaning-row-amount{
  text-align:right !important;
}
.sfb-cleaning-row-amount small,
.sfb-cleaning-row-amount strong{
  display:block !important;
}
.sfb-cleaning-row-amount small{
  color:#8a8a84 !important;
  font-size:9px !important;
  text-transform:uppercase !important;
}
.sfb-cleaning-row-amount strong{
  margin-top:3px !important;
  color:#2f2f2f !important;
  font-size:17px !important;
}
.sfb-cleaning-row-status{
  min-width:0 !important;
}
.sfb-manager-cleaning-check{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.sfb-manager-cleaning-paidat{
  margin-top:5px !important;
  color:#888 !important;
  font-size:11px !important;
  text-align:left !important;
}
.sfb-cleaning-select{
  align-self:center !important;
}
.sfb-cleaning-batch-select,
.sfb-manager-cleaning-paid{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:18px !important;
  height:18px !important;
  min-height:18px !important;
  padding:0 !important;
  margin:0 !important;
}

/* Keep manager action/filter buttons predictable */
.sfb-cleaning-payment-filters button.is-active{
  background:#607044 !important;
  color:#fff !important;
  border-color:#607044 !important;
}
.sfb-cleaning-payment-filters button:not(.is-active){
  background:#fff !important;
  color:#52603f !important;
  border:1px solid #d9d4ca !important;
}

@media(max-width:900px){
  .sfb-manager-cleaning-row{
    grid-template-columns:28px minmax(0,1fr) 86px !important;
  }
  .sfb-cleaning-row-status{
    grid-column:2 / -1 !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
  }
  .sfb-manager-cleaning-paidat{
    margin-top:0 !important;
  }
}

@media(max-width:650px){
  .sfb-manager-actions,
  .sfb-portal-head-actions{
    gap:7px !important;
  }
  .sfb-language-select-wrap{
    height:38px !important;
    padding-left:8px !important;
  }
  .sfb-portal .sfb-portal-language-select{
    height:34px !important;
    min-height:34px !important;
    min-width:82px !important;
  }
  .sfb-manager-cleaning-row{
    grid-template-columns:26px 1fr !important;
    gap:7px 10px !important;
    padding:12px 13px !important;
  }
  .sfb-cleaning-row-main{
    grid-column:2 !important;
  }
  .sfb-cleaning-row-amount{
    grid-column:2 !important;
    text-align:left !important;
  }
  .sfb-cleaning-row-status{
    grid-column:2 !important;
    display:block !important;
  }
  .sfb-manager-cleaning-paidat{
    margin-top:4px !important;
  }
}


/* v0.15.6 - two surgical fixes only */

/* Booking list: give guest/meta block enough room above dates. */
.sfb-manager-booking-guest{
  padding-bottom:34px !important;
}
.sfb-manager-booking-dates{
  margin-top:0 !important;
  align-self:end !important;
}

/* Cleaning payment toolbar moved up, keep it compact and clean. */
.sfb-cleaning-batch-box{
  margin:14px 0 16px !important;
  padding:14px !important;
  border:1px solid #e2ddd4 !important;
  border-radius:16px !important;
  background:#faf9f6 !important;
  display:grid !important;
  grid-template-columns:minmax(210px,1.3fr) 145px 125px minmax(180px,1fr) auto !important;
  gap:9px !important;
  align-items:center !important;
}
.sfb-cleaning-batch-box > div:first-child{
  min-width:0 !important;
}
.sfb-cleaning-batch-box > div:first-child strong{
  display:block !important;
  font-size:14px !important;
}
.sfb-cleaning-batch-box > div:first-child span{
  display:block !important;
  margin-top:3px !important;
  color:#777 !important;
  font-size:11px !important;
}
.sfb-cleaning-batch-box input,
.sfb-cleaning-batch-box select{
  width:100% !important;
  min-width:0 !important;
  height:42px !important;
  min-height:42px !important;
  padding:8px 11px !important;
  border:1px solid #d9d4ca !important;
  border-radius:12px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}
.sfb-cleaning-batch-pay{
  height:42px !important;
  min-height:42px !important;
  padding:8px 14px !important;
  border:1px solid #607044 !important;
  border-radius:12px !important;
  background:#607044 !important;
  color:#fff !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.sfb-cleaning-batch-message{
  grid-column:1/-1 !important;
  font-size:11px !important;
}

@media(max-width:900px){
  .sfb-cleaning-batch-box{
    grid-template-columns:1fr 1fr !important;
  }
  .sfb-cleaning-batch-box > div:first-child,
  .sfb-cleaning-batch-note,
  .sfb-cleaning-batch-pay,
  .sfb-cleaning-batch-message{
    grid-column:1/-1 !important;
  }
  .sfb-manager-booking-guest{
    padding-bottom:36px !important;
  }
}

@media(max-width:650px){
  .sfb-cleaning-batch-box{
    grid-template-columns:1fr !important;
  }
  .sfb-cleaning-batch-box > *{
    grid-column:1 !important;
  }
  .sfb-manager-booking-guest{
    padding-bottom:38px !important;
  }
}


/* v0.17.0 click-to-select booking calendars */
.sfb-manager-create-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:18px;
  align-items:start;
}
.sfb-manager-create-calendar-box{
  padding:18px;
  border:1px solid #E5E1D8;
  border-radius:16px;
  background:#FAF9F6;
}
.sfb-manager-create-calendar-box .sfb-public-calendar{max-width:none}
.sfb-manager-create-calendar-placeholder{
  min-height:310px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#777;
  border:1px dashed #DCD8CF;
  border-radius:14px;
  background:#fff;
  padding:24px;
}
.sfb-calendar-selection-hint{
  margin-top:12px;
  text-align:center;
  font-size:12px;
  color:#6B6B6B;
}
.sfb-selectable-calendar .sfb-public-cal-day:not(.is-booked):not(.is-turnover){
  cursor:pointer;
}
.sfb-selectable-calendar .sfb-public-cal-day.is-booked,
.sfb-selectable-calendar .sfb-public-cal-day.is-turnover{
  cursor:not-allowed;
}
.sfb-selectable-calendar .sfb-public-cal-day.is-selected-range{
  box-shadow:inset 0 0 0 2px #A8B58E;
}
.sfb-selectable-calendar .sfb-public-cal-day.is-selected-arrival,
.sfb-selectable-calendar .sfb-public-cal-day.is-selected-departure{
  background:#5B6642 !important;
  border-color:#5B6642 !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(91,102,66,.15);
}
.sfb-booking-date-picker{
  margin-bottom:20px;
}
.sfb-booking-date-picker .sfb-public-calendar{
  max-width:none;
}
@media(max-width:900px){
  .sfb-manager-create-layout{grid-template-columns:1fr}
  .sfb-manager-create-calendar-box{order:2}
}


/* v0.17.6 public language selector */
.sfb-public-language-bar{
  display:flex;
  justify-content:flex-end;
  margin:0 0 12px;
}
.sfb-public-language-wrap .sfb-portal-language-select{
  min-width:118px !important;
}


/* v0.17.8 guest-count warning */
.sfb-guest-warning-hint.is-warning{
  display:block;
  margin:10px 0 0;
  padding:10px 12px;
  border:1px solid #e2c77b;
  border-radius:12px;
  background:#fff8df;
  color:#6c5720;
  font-size:13px;
  line-height:1.45;
}


/* v0.18.2 owner portal mobile cleanup */
.sfb-owner-portal,
.sfb-owner-portal *{
  box-sizing:border-box;
}
.sfb-owner-portal .sfb-portal-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
}
.sfb-owner-portal .sfb-portal-head-actions{
  display:flex;
  align-items:center;
  flex-wrap:nowrap !important;
  gap:8px;
}
.sfb-owner-portal .sfb-logout-button{
  min-height:46px;
  padding:10px 16px;
  white-space:nowrap;
}
.sfb-owner-property{
  min-width:0;
  overflow:hidden;
}
.sfb-owner-create-box{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  border:1px solid #E7E1D7;
  border-radius:15px;
  background:#FAF9F6;
  margin-bottom:18px;
}
.sfb-owner-create-toggle{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:0;
  background:transparent;
  color:#2f2f2f;
  padding:14px 16px;
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}
.sfb-owner-create-chevron{
  font-size:18px;
  color:#66734C;
}
.sfb-owner-create-body{
  border-top:1px solid #E7E1D7;
  padding:14px;
}
.sfb-owner-create-grid{
  width:100%;
  min-width:0;
}
.sfb-owner-create-grid > label{
  min-width:0;
  max-width:100%;
}
.sfb-owner-create-grid input,
.sfb-owner-create-grid textarea,
.sfb-owner-create-grid select{
  min-width:0 !important;
  max-width:100% !important;
  width:100% !important;
}
.sfb-owner-create-grid input[type="date"],
.sfb-owner-create-grid input[type="time"],
.sfb-owner-create-grid input[type="number"]{
  -webkit-appearance:none;
  appearance:none;
}

/* Globe-only portal language control. The native select stays clickable
   above the globe and opens the three flag options. */
.sfb-language-icon-only{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  min-width:46px;
  border:1px solid #D9D4CA;
  border-radius:999px;
  background:#fff;
  overflow:hidden;
}
.sfb-language-icon-only .sfb-language-icon{
  display:block !important;
  margin:0 !important;
  font-size:20px !important;
  line-height:1 !important;
}
.sfb-language-icon-only .sfb-portal-language-select{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  opacity:0 !important;
  cursor:pointer !important;
}

@media(max-width:700px){
  .sfb-owner-portal{
    padding:0 12px !important;
  }
  .sfb-owner-portal .sfb-portal-head{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    gap:10px !important;
    margin-bottom:20px !important;
  }
  .sfb-owner-portal .sfb-portal-head h2{
    font-size:28px !important;
    line-height:1.05 !important;
    margin-bottom:0 !important;
  }
  .sfb-owner-portal .sfb-portal-head-actions{
    flex-wrap:nowrap !important;
    gap:7px !important;
  }
  .sfb-owner-portal .sfb-logout-button{
    min-height:46px !important;
    height:46px !important;
    padding:8px 14px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }
  .sfb-owner-property{
    padding:16px !important;
    border-radius:16px !important;
  }
  .sfb-owner-property h3{
    font-size:23px !important;
  }
  .sfb-owner-create-body{
    padding:12px !important;
  }
  .sfb-owner-create-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .sfb-owner-create-grid .sfb-owner-name-field,
  .sfb-owner-create-grid .sfb-owner-note-field{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .sfb-owner-create-grid input,
  .sfb-owner-create-grid textarea{
    height:auto !important;
    min-height:48px !important;
  }
}


/* v0.18.4 optional owner finance */
.sfb-owner-finance-card{
  margin:0 0 18px;
  border:1px solid #dfe4d2;
  border-radius:14px;
  background:#f4f7ed;
  padding:14px;
}
.sfb-owner-finance-card h4{
  margin:0 0 12px !important;
}
.sfb-owner-finance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.sfb-owner-finance-grid > div{
  min-width:0;
  border:1px solid #e1e4d9;
  border-radius:11px;
  background:#fff;
  padding:10px 11px;
}
.sfb-owner-finance-grid small,
.sfb-owner-finance-grid strong{
  display:block;
}
.sfb-owner-finance-grid small{
  color:#777;
  font-size:10px;
  line-height:1.25;
}
.sfb-owner-finance-grid strong{
  margin-top:5px;
  font-size:15px;
}
.sfb-owner-finance-grid .is-remaining strong{
  color:#9a3a32;
}
.sfb-owner-finance-grid .is-owner-due{
  background:#eef4e7;
}
.sfb-owner-finance-grid .is-owner-due strong{
  color:#53683c;
}
@media(max-width:700px){
  .sfb-owner-finance-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v0.19.0 Finance control center */
.sfb-finance-title{align-items:center}
.sfb-finance-house-switcher{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:16px 0 20px;
}
.sfb-finance-house-button{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-width:0;
  border:1px solid #ddd7cc;
  border-radius:14px;
  background:#fff;
  padding:14px 15px;
  color:#2d2d2d;
  text-align:left;
  cursor:pointer;
}
.sfb-finance-house-button strong{
  font-family:"Playfair Display",Georgia,serif;
  font-size:19px;
}
.sfb-finance-house-button span{
  color:#75805d;
  font-size:12px;
  font-weight:700;
}
.sfb-finance-house-button.is-active{
  border-color:#637249;
  background:#eef3e7;
}
.sfb-finance-house-panel{
  border:1px solid #e4ded4;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  margin-bottom:22px;
}
.sfb-finance-house-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid #e9e4dc;
  background:#faf9f6;
}
.sfb-finance-house-panel-head h3{margin:0!important}
.sfb-finance-house-close{
  border:1px solid #ddd6ca;
  border-radius:10px;
  background:#fff;
  padding:8px 12px;
  cursor:pointer;
}
.sfb-finance-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:16px 18px;
}
.sfb-finance-kpi-grid>div{
  min-width:0;
  border:1px solid #e5e0d7;
  border-radius:12px;
  padding:11px 12px;
  background:#fff;
}
.sfb-finance-kpi-grid small,
.sfb-finance-kpi-grid strong{display:block}
.sfb-finance-kpi-grid small{color:#777;font-size:10px}
.sfb-finance-kpi-grid strong{margin-top:5px;font-size:17px}
.sfb-finance-kpi-grid .is-warning strong{color:#a23d32}
.sfb-finance-kpi-grid .is-owner-due{background:#edf3e5;border-color:#d7dfc8}
.sfb-finance-kpi-grid .is-owner-due strong{color:#54683e}
.sfb-finance-columns{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:16px;
  padding:0 18px 18px;
}
.sfb-finance-block{
  min-width:0;
  border:1px solid #e5e0d7;
  border-radius:14px;
  background:#faf9f6;
  overflow:hidden;
}
.sfb-finance-block-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 15px;
  border-bottom:1px solid #e6e1d9;
  background:#fff;
}
.sfb-finance-block-head h4{margin:0 0 3px!important}
.sfb-finance-block-head span{font-size:11px;color:#777}
.sfb-finance-booking-list{background:#fff}
.sfb-finance-booking-row{
  display:grid;
  grid-template-columns:minmax(160px,1.6fr) repeat(4,minmax(95px,.65fr));
  gap:10px;
  align-items:center;
  padding:11px 14px;
  border-bottom:1px solid #eee9e1;
}
.sfb-finance-booking-row:last-child{border-bottom:0}
.sfb-finance-booking-row>div{min-width:0}
.sfb-finance-booking-row small,
.sfb-finance-booking-row strong{display:block}
.sfb-finance-booking-row small{color:#888;font-size:9px}
.sfb-finance-booking-row strong{font-size:12px}
.sfb-finance-booking-name strong{font-size:13px}
.sfb-finance-booking-row .is-warning strong{color:#a23d32}
.sfb-finance-entry-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  padding:14px!important;
  background:#faf9f6!important;
}
.sfb-finance-entry-form input,
.sfb-finance-entry-form select,
.sfb-finance-entry-form button{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.sfb-finance-entry-form .sfb-owner-entry-message{grid-column:1/-1}
.sfb-finance-ledger{border-top:1px solid #e7e2da;background:#fff}
.sfb-finance-ledger-row{
  display:grid!important;
  grid-template-columns:78px 115px 1fr 92px minmax(100px,1.2fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:10px 12px!important;
}
.sfb-finance-ledger-row>*{min-width:0}
.sfb-finance-ledger-row em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel{
  grid-column:1/-1!important;
}

@media(max-width:1050px){
  .sfb-finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sfb-finance-columns{grid-template-columns:1fr}
}
@media(max-width:700px){
  .sfb-finance-house-switcher{grid-template-columns:1fr}
  .sfb-finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .sfb-finance-columns{padding:0 12px 12px}
  .sfb-finance-booking-row{
    grid-template-columns:1fr 1fr!important;
  }
  .sfb-finance-booking-name{grid-column:1/-1}
  .sfb-finance-entry-form{grid-template-columns:1fr!important}
  .sfb-finance-entry-form>*{grid-column:1!important}
  .sfb-finance-ledger-row{
    grid-template-columns:1fr auto!important;
  }
  .sfb-finance-ledger-row>span:nth-child(3),
  .sfb-finance-ledger-row>em{grid-column:1/-1}
}


/* v0.19.2 Finance layout polish
   Layout-only fix for movement form + ledger on tablet/desktop. */

.sfb-finance-columns{
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr) !important;
  align-items:start !important;
}

.sfb-finance-block,
.sfb-finance-entry-form,
.sfb-finance-ledger,
.sfb-finance-ledger-row{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.sfb-finance-entry-form{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

.sfb-finance-entry-form input,
.sfb-finance-entry-form select,
.sfb-finance-entry-form button{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.sfb-finance-entry-form input[type="date"]{
  -webkit-appearance:none !important;
  appearance:none !important;
}

.sfb-finance-ledger-row{
  grid-template-columns:76px minmax(92px,1fr) minmax(88px,.9fr) 92px minmax(88px,1fr) auto !important;
  gap:7px !important;
  padding:10px 11px !important;
  font-size:11px !important;
  line-height:1.25 !important;
}

.sfb-finance-ledger-row > span,
.sfb-finance-ledger-row > strong,
.sfb-finance-ledger-row > b,
.sfb-finance-ledger-row > em{
  min-width:0 !important;
  max-width:100% !important;
}

.sfb-finance-ledger-row > strong{
  font-size:11px !important;
  line-height:1.25 !important;
}

.sfb-finance-ledger-row > b{
  font-size:12px !important;
  white-space:nowrap !important;
}

.sfb-finance-ledger-row > em{
  font-size:10px !important;
  line-height:1.3 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

.sfb-owner-ledger-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:5px !important;
}

.sfb-owner-ledger-actions button{
  padding:6px 8px !important;
  font-size:10px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}

.sfb-owner-ledger-edit-panel{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.sfb-owner-ledger-edit-panel input,
.sfb-owner-ledger-edit-panel select,
.sfb-owner-ledger-edit-panel button{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

@media(max-width:1180px){
  .sfb-finance-columns{
    grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr) !important;
  }

  .sfb-finance-ledger-row{
    grid-template-columns:72px minmax(84px,1fr) 88px 84px minmax(74px,.9fr) !important;
  }

  .sfb-finance-ledger-row .sfb-owner-ledger-actions{
    grid-column:1/-1 !important;
    justify-content:flex-start !important;
  }
}

@media(max-width:980px){
  .sfb-finance-columns{
    grid-template-columns:1fr !important;
  }

  .sfb-finance-ledger-row{
    grid-template-columns:80px minmax(100px,1fr) minmax(90px,1fr) 95px minmax(120px,1.2fr) auto !important;
  }
}

@media(max-width:700px){
  .sfb-finance-entry-form{
    grid-template-columns:1fr !important;
  }

  .sfb-finance-entry-form > *{
    grid-column:1 !important;
  }

  .sfb-finance-ledger-row{
    grid-template-columns:1fr auto !important;
    gap:5px 10px !important;
    padding:11px 12px !important;
  }

  .sfb-finance-ledger-row > span:nth-child(1),
  .sfb-finance-ledger-row > strong,
  .sfb-finance-ledger-row > span:nth-child(3),
  .sfb-finance-ledger-row > em{
    grid-column:1 !important;
  }

  .sfb-finance-ledger-row > b{
    grid-column:2 !important;
    grid-row:1/3 !important;
    align-self:center !important;
  }

  .sfb-finance-ledger-row .sfb-owner-ledger-actions{
    grid-column:1/-1 !important;
    justify-content:flex-start !important;
  }
}


/* v0.19.3 finance receipt / invoice attachments */
.sfb-finance-document-upload{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  min-width:0;
  border:1px dashed #cfc7bb;
  border-radius:11px;
  background:#fff;
  padding:8px 10px;
  box-sizing:border-box;
}
.sfb-finance-document-upload span{
  font-size:11px;
  font-weight:700;
  color:#555;
}
.sfb-finance-document-upload small{
  font-size:9px;
  color:#888;
}
.sfb-finance-document-upload input[type="file"]{
  min-height:0!important;
  padding:4px 0!important;
  border:0!important;
  background:transparent!important;
  font-size:10px!important;
}
.sfb-finance-document-upload.is-compact{
  padding:7px 8px;
}

/* v0.22.33 multi-receipt PDF import */
.sfb-bank-check{display:flex!important;align-items:center;justify-content:center;min-width:42px;min-height:42px;cursor:pointer;position:relative;z-index:3}
.sfb-bank-check input[type="checkbox"]{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;-webkit-appearance:checkbox!important;appearance:auto!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;margin:0!important;pointer-events:auto!important;accent-color:#24733f}
.sfb-bank-check input[type="checkbox"]:disabled{cursor:not-allowed;opacity:.45!important}
.sfb-multi-receipt-tools{grid-column:1/-1;border:1px solid #d9d4ca;border-radius:12px;padding:12px;background:#faf9f6;display:grid;gap:10px}
.sfb-multi-receipt-tools>.sfb-finance-document-upload{margin:0}
.sfb-multi-receipt-scan,.sfb-multi-receipt-import{justify-self:start}
.sfb-multi-receipt-message.is-error{color:#a12622}.sfb-multi-receipt-message.is-ok{color:#24733f}
.sfb-multi-receipt-results{display:grid;gap:9px}
.sfb-multi-receipt-row{display:grid;grid-template-columns:auto 1.5fr 150px 120px 180px 1.5fr;gap:7px;align-items:center;padding:10px;border:1px solid #e2ddd3;border-radius:10px;background:#fff}
.sfb-multi-receipt-row>small{grid-column:2/-1;color:#69645c}
.sfb-multi-receipt-select{width:22px!important;height:22px!important;min-width:22px!important;margin:0!important;accent-color:#24733f}
@media(max-width:800px){.sfb-multi-receipt-row{grid-template-columns:32px 1fr}.sfb-multi-receipt-row>*:not(.sfb-multi-receipt-select){grid-column:2}.sfb-multi-receipt-row>small{grid-column:2}}
.sfb-finance-document-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  border:1px solid #d7dfc8;
  border-radius:8px;
  background:#eef4e7;
  color:#53683c!important;
  padding:6px 8px;
  text-decoration:none!important;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.sfb-finance-ledger-row{
  grid-template-columns:70px minmax(85px,.95fr) minmax(82px,.85fr) 86px minmax(75px,.9fr) auto auto!important;
}
.sfb-owner-finance-documents{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #dfe4d2;
}
.sfb-owner-finance-documents>strong{
  display:block;
  margin-bottom:7px;
  font-size:12px;
}
.sfb-owner-finance-documents>a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  padding:8px 0;
  border-top:1px solid #e4e8da;
  color:#333!important;
  text-decoration:none!important;
  font-size:11px;
}
.sfb-owner-finance-documents>a span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sfb-owner-finance-documents>a em{
  color:#5d6e45;
  font-style:normal;
  font-weight:800;
}

@media(max-width:1180px){
  .sfb-finance-ledger-row{
    grid-template-columns:70px minmax(84px,1fr) 80px 82px minmax(70px,.8fr) auto!important;
  }
  .sfb-finance-ledger-row .sfb-finance-document-link{
    grid-column:1/-1;
    justify-self:start;
  }
}
@media(max-width:700px){
  .sfb-owner-finance-documents>a{
    grid-template-columns:1fr auto;
  }
  .sfb-owner-finance-documents>a em{
    grid-column:1/-1;
  }
}


/* v0.19.4 finance ledger edit panel */
.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel{
  grid-column:1/-1 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin-top:10px !important;
  padding:12px !important;
  border:1px solid #ddd6ca !important;
  border-radius:12px !important;
  background:#faf9f6 !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel[hidden]{
  display:none !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel:not([hidden]){
  display:grid !important;
  grid-template-columns:minmax(130px,1fr) minmax(140px,1fr) minmax(110px,.75fr) minmax(150px,.9fr) minmax(130px,.85fr) minmax(180px,1.2fr) !important;
  gap:9px !important;
  align-items:end !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel input,
.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel select,
.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel button,
.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel label{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel input,
.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel select{
  min-height:44px !important;
  height:44px !important;
  padding:8px 10px !important;
  font-size:12px !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel input[type="date"]{
  -webkit-appearance:none !important;
  appearance:none !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel .sfb-finance-document-upload{
  min-height:44px !important;
  align-self:stretch !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel .sfb-owner-ledger-save{
  min-height:44px !important;
  height:44px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#5B6642 !important;
  color:#fff !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.sfb-finance-ledger-row .sfb-owner-ledger-edit-panel .sfb-owner-ledger-message{
  grid-column:1/-1 !important;
  font-size:11px !important;
}

@media(max-width:1180px){
  .sfb-finance-ledger-row .sfb-owner-ledger-edit-panel:not([hidden]){
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .sfb-finance-ledger-row .sfb-owner-ledger-edit-panel .sfb-finance-document-upload,
  .sfb-finance-ledger-row .sfb-owner-ledger-edit-panel .sfb-owner-ledger-save{
    grid-column:auto !important;
  }
}

@media(max-width:800px){
  .sfb-finance-ledger-row .sfb-owner-ledger-edit-panel:not([hidden]){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:560px){
  .sfb-finance-ledger-row .sfb-owner-ledger-edit-panel:not([hidden]){
    grid-template-columns:1fr !important;
  }
  .sfb-finance-ledger-row .sfb-owner-ledger-edit-panel > *{
    grid-column:1 !important;
  }
}


/* v0.22.0 — Spansk Feriebolig visual refresh */
.sfb-portal.sfb-manager-portal{
  --sfb-olive:#66764a;
  --sfb-olive-dark:#53623c;
  --sfb-olive-soft:#eef2e7;
  --sfb-cream:#fbfaf7;
  --sfb-card:#ffffff;
  --sfb-line:#e8e3da;
  --sfb-text:#292b28;
  --sfb-muted:#7c7d78;
  max-width:1480px;
  margin:0 auto;
  color:var(--sfb-text);
  background:transparent;
}
.sfb-manager-topbar{
  align-items:center;
  margin-bottom:14px;
  padding:8px 4px 0;
}
.sfb-manager-brand{display:flex;flex-direction:column;gap:2px}
.sfb-manager-brand-name{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--sfb-olive-dark);
  font-size:31px;
  line-height:1.08;
}
.sfb-manager-brand-sub{font-size:12px;color:var(--sfb-muted);font-weight:700;letter-spacing:.04em}
.sfb-manager-brand-sub small{font-weight:500;color:#9a9a94;margin-left:5px}
.sfb-manager-actions{display:flex;align-items:center;gap:10px}
.sfb-manager-actions .sfb-manager-sync,
.sfb-manager-actions .sfb-logout-button,
.sfb-manager-actions a.sfb-portal-logout{
  min-height:42px!important;
  border:1px solid var(--sfb-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#3d4138!important;
  box-shadow:0 4px 14px rgba(63,70,49,.05)!important;
  padding:9px 15px!important;
  font-weight:750!important;
}
.sfb-manager-actions .sfb-manager-sync:hover,
.sfb-manager-actions .sfb-logout-button:hover,
.sfb-manager-actions a.sfb-portal-logout:hover{border-color:#cfd5c2!important;background:#f8faf5!important}

.sfb-manager-nav{
  position:relative;
  gap:2px;
  margin-bottom:26px;
  padding:6px;
  border:1px solid var(--sfb-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 24px rgba(45,53,36,.045);
}
.sfb-manager-nav button{
  min-height:44px;
  padding:10px 15px;
  border-radius:10px;
  color:#454b3c;
  font-weight:750;
  transition:.16s ease;
}
.sfb-manager-nav button:hover{background:#f7f8f4}
.sfb-manager-nav button.is-active:not(.is-primary){
  background:#f4f5ef!important;
  color:var(--sfb-olive-dark)!important;
  box-shadow:inset 0 -2px 0 var(--sfb-olive)!important;
}
.sfb-manager-nav button.is-primary{
  min-width:128px;
  background:var(--sfb-olive)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(83,98,60,.18)!important;
}

.sfb-language-menu-toggle{
  min-width:88px!important;
  width:auto!important;
  height:42px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid var(--sfb-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#4c5441!important;
  box-shadow:0 4px 14px rgba(63,70,49,.05)!important;
}
.sfb-language-icon{width:17px!important;height:17px!important;display:flex!important}
.sfb-language-icon svg{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}
.sfb-language-current{font-size:11px;font-weight:850;letter-spacing:.06em}
.sfb-language-chevron{font-size:14px;line-height:1;transform:translateY(-1px)}
.sfb-language-menu{margin-top:7px!important;border:1px solid var(--sfb-line)!important;border-radius:13px!important;box-shadow:0 16px 36px rgba(38,45,31,.13)!important;overflow:hidden!important}

.sfb-manager-stat-grid{gap:14px}
.sfb-manager-stat-card{
  position:relative;
  min-height:116px;
  padding:20px 20px 18px 66px;
  border:1px solid var(--sfb-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px rgba(49,55,43,.055);
}
.sfb-manager-stat-card:before{
  content:"";
  position:absolute;
  left:18px;top:19px;
  width:34px;height:34px;
  border-radius:50%;
  background:var(--sfb-olive-soft);
  border:1px solid #dde5d2;
}
.sfb-manager-stat-card small{font-size:10px;letter-spacing:.04em;color:#7b7e74}
.sfb-manager-stat-card strong{margin:8px 0 2px;font-family:"Playfair Display",Georgia,serif;font-size:30px;color:var(--sfb-olive-dark)}
.sfb-manager-stat-card span{font-size:11px;color:#8a8b85}
.sfb-manager-overview-block{margin-top:30px}
.sfb-manager-section-title h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:26px;
  color:#2d302a;
}
.sfb-manager-section-title p{color:#858680}

/* Upcoming bookings: compact premium cards */
.sfb-manager-overview-block .sfb-manager-property-overview-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.sfb-manager-overview-block .sfb-manager-property-overview-card{
  border:1px solid var(--sfb-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 26px rgba(49,55,43,.045);
}
.sfb-manager-overview-block .sfb-manager-property-overview-head{padding:15px 17px;background:#fbfaf7}
.sfb-manager-overview-block .sfb-manager-property-overview-head h4{font-size:18px;color:#30332d}
.sfb-manager-overview-block .sfb-overview-booking-link{
  position:relative;
  padding:14px 42px 14px 17px!important;
  border-top:1px solid #f0ece5!important;
  transition:.15s ease;
}
.sfb-manager-overview-block .sfb-overview-booking-link:after{
  content:"›";
  position:absolute;
  right:17px;top:50%;transform:translateY(-50%);
  font-size:24px;font-weight:300;color:#a4aa9b;
}
.sfb-manager-overview-block .sfb-overview-booking-link:hover{background:#f8faf5;transform:translateX(2px)}

/* Common surfaces */
.sfb-manager-property-overview-card,
.sfb-finance-block,
.sfb-ai-settings-card,
.sfb-manager-booking,
.sfb-manager-calendar-wrap,
.sfb-bank-reconcile-block{
  border-color:var(--sfb-line)!important;
  box-shadow:0 7px 24px rgba(49,55,43,.04);
}
.sfb-manager-portal input,
.sfb-manager-portal select,
.sfb-manager-portal textarea{
  border-color:#ddd8cf!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.sfb-manager-portal input:focus,
.sfb-manager-portal select:focus,
.sfb-manager-portal textarea:focus{
  border-color:#94a27d!important;
  box-shadow:0 0 0 3px rgba(102,118,74,.09)!important;
  outline:0!important;
}
.sfb-manager-portal button:not(.sfb-language-menu-option):not(.sfb-manager-nav button){transition:.15s ease}

/* Booking drawer: open from Overview without leaving Overview */
.sfb-booking-drawer-backdrop{
  position:fixed;inset:0;z-index:99990;
  background:rgba(27,31,24,.24);
  backdrop-filter:blur(2px);
  opacity:0;transition:opacity .2s ease;
}
.sfb-booking-drawer-backdrop.is-open{opacity:1}
.sfb-booking-drawer{
  position:fixed;z-index:99991;
  top:12px;right:12px;bottom:12px;
  width:min(500px,calc(100vw - 24px));
  display:flex;flex-direction:column;
  border:1px solid var(--sfb-line);
  border-radius:22px;
  background:#fbfaf7;
  box-shadow:0 26px 70px rgba(30,36,24,.24);
  transform:translateX(calc(100% + 32px));
  transition:transform .24s ease;
  overflow:hidden;
}
.sfb-booking-drawer.is-open{transform:translateX(0)}
.sfb-booking-drawer-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 20px;
  border-bottom:1px solid var(--sfb-line);
  background:#fff;
}
.sfb-booking-drawer-head small{display:block;margin-bottom:3px;color:#8b8d85;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.sfb-booking-drawer-head strong{font-family:"Playfair Display",Georgia,serif;font-size:23px;color:#2e312b}
.sfb-booking-drawer-close{
  width:38px!important;height:38px!important;padding:0!important;
  border:1px solid var(--sfb-line)!important;border-radius:50%!important;
  background:#fff!important;color:#444a3c!important;font-size:25px!important;font-weight:300!important;
}
.sfb-booking-drawer-body{flex:1;overflow:auto;padding:14px}
.sfb-booking-drawer-body .sfb-manager-booking{
  margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.sfb-booking-drawer-body .sfb-manager-booking-compact{display:none!important}
.sfb-booking-drawer-body .sfb-manager-booking-edit-panel{display:block!important;padding:0!important;background:transparent!important}
.sfb-booking-drawer-body .sfb-manager-booking-edit-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
.sfb-booking-drawer-body .sfb-manager-note-field,
.sfb-booking-drawer-body .sfb-manager-price-field{grid-column:1/-1!important}
.sfb-booking-drawer-body .sfb-booking-payment-editor{margin-top:14px}
.sfb-booking-drawer-body .sfb-manager-booking-footer{position:sticky;bottom:-14px;margin:18px -14px -14px;padding:12px 14px;background:rgba(251,250,247,.96);border-top:1px solid var(--sfb-line);backdrop-filter:blur(8px)}
body.sfb-drawer-open{overflow:hidden}

/* Properties and calendar follow the same restrained site look */
.sfb-manager-section[data-manager-section="properties"] .sfb-manager-property-overview-card,
.sfb-manager-section[data-manager-section="calendar"] .sfb-manager-calendar-wrap{border-radius:18px!important}
.sfb-manager-section[data-manager-section="properties"] .sfb-manager-property-overview-head{background:#faf9f5!important}
.sfb-manager-add-property-card{background:#faf9f5!important;border-style:dashed!important}

@media(max-width:1050px){
  .sfb-manager-overview-block .sfb-manager-property-overview-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .sfb-manager-brand-name{font-size:25px}
  .sfb-manager-actions{gap:6px}
  .sfb-language-menu-toggle{min-width:72px!important;padding:0 9px!important}
  .sfb-manager-actions .sfb-manager-sync,
  .sfb-manager-actions .sfb-logout-button,
  .sfb-manager-actions a.sfb-portal-logout{padding:8px 10px!important;font-size:11px!important}
  .sfb-manager-stat-grid{grid-template-columns:1fr 1fr!important}
  .sfb-manager-stat-card{min-height:104px;padding:16px 14px 14px 54px}
  .sfb-manager-stat-card:before{left:14px;top:16px;width:28px;height:28px}
  .sfb-manager-stat-card strong{font-size:25px}
  .sfb-booking-drawer{top:6px;right:6px;bottom:6px;width:calc(100vw - 12px);border-radius:18px}
}
@media(max-width:520px){
  .sfb-manager-topbar{align-items:flex-start}
  .sfb-manager-actions{flex-wrap:wrap;justify-content:flex-end}
  .sfb-manager-stat-grid{grid-template-columns:1fr!important}
  .sfb-booking-drawer-body .sfb-manager-booking-edit-grid{grid-template-columns:1fr!important}
}

/* ===== v0.22.1 — structural dashboard redesign ===== */
.sfb-manager-portal{max-width:1480px!important;margin:0 auto!important;padding:34px 34px 60px!important;background:#fbfaf7!important;color:#292d27!important}
.sfb-manager-topbar{margin-bottom:18px!important;padding:0 2px 17px!important;border-bottom:1px solid #ebe8e0!important}
.sfb-manager-brand-name{font-family:"Playfair Display",Georgia,serif!important;font-size:37px!important;font-weight:500!important;color:#5e6e42!important;letter-spacing:-.02em!important}
.sfb-manager-brand-sub{margin-top:3px!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:9px!important;color:#92958b!important}
.sfb-manager-nav{margin:0 0 24px!important;padding:4px!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important}
.sfb-manager-nav button{font-size:13px!important;font-weight:650!important}
.sfb-manager-nav button.is-active:not(.is-primary){background:#f5f3ed!important;box-shadow:inset 0 -2px 0 #667748!important}
.sfb-manager-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-bottom:18px!important}
.sfb-manager-stat-card{min-height:128px!important;padding:23px 20px 19px 72px!important;border-radius:20px!important}
.sfb-manager-stat-card:before{width:39px!important;height:39px!important;left:18px!important;top:23px!important;background:#f2f4ec!important}
.sfb-manager-stat-card strong{font-size:32px!important;font-weight:500!important}

.sfb-v22-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.sfb-v22-main-column{min-width:0;display:grid;gap:25px}
.sfb-v22-side-column{display:grid;gap:18px;position:sticky;top:16px}
.sfb-v22-panel{background:#fff;border:1px solid #e8e4dc;border-radius:20px;box-shadow:0 10px 34px rgba(61,65,54,.045);overflow:hidden}
.sfb-v22-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 22px 17px}
.sfb-v22-panel-head h3{margin:2px 0 0!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:500!important;font-size:24px!important;color:#2d312a!important}
.sfb-v22-eyebrow{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:8px;font-weight:800;color:#76835f}
.sfb-v22-text-button{width:auto!important;min-height:34px!important;padding:7px 12px!important;background:#fff!important;border:1px solid #ddd9d1!important;border-radius:10px!important;color:#555d49!important;font-size:11px!important;font-weight:700!important;box-shadow:none!important}
.sfb-v22-booking-list{border-top:1px solid #efede7}
.sfb-v22-booking-row{display:grid!important;grid-template-columns:8px minmax(150px,1.45fr) minmax(105px,.75fr) minmax(105px,.75fr) 92px 82px 18px;gap:13px;align-items:center;width:100%;padding:13px 18px!important;border:0!important;border-bottom:1px solid #efede7!important;background:#fff!important;text-align:left!important;color:#30352d!important;border-radius:0!important;box-shadow:none!important;transition:.14s ease!important}
.sfb-v22-booking-row:last-child{border-bottom:0!important}
.sfb-v22-booking-row:hover{background:#f8f8f4!important;transform:none!important}
.sfb-v22-booking-property-dot{width:7px;height:34px;border-radius:10px;background:#809166}
.sfb-v22-booking-guest,.sfb-v22-booking-date,.sfb-v22-booking-meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.sfb-v22-booking-guest strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfb-v22-booking-guest small,.sfb-v22-booking-date small,.sfb-v22-booking-meta small{font-size:9px;color:#8a8d84}
.sfb-v22-booking-date strong,.sfb-v22-booking-meta strong{font-size:10px;font-weight:650;color:#484d43}
.sfb-v22-booking-status{justify-self:start;padding:5px 8px;border-radius:8px;background:#eef2e8;color:#63734d;font-size:9px;font-weight:800;white-space:nowrap}
.sfb-v22-booking-row.is-current-stay .sfb-v22-booking-status{background:#dfe9d3;color:#51643a}
.sfb-v22-booking-row.is-arrival-today .sfb-v22-booking-status{background:#edf2e1;color:#627347}
.sfb-v22-booking-row.is-checkout-today .sfb-v22-booking-status{background:#f6eee0;color:#8a6c35}
.sfb-v22-booking-arrow{font-size:22px;color:#a2a69c;text-align:right}

.sfb-v22-properties-section{min-width:0}
.sfb-v22-properties-head{padding:0 4px 12px!important}
.sfb-v22-property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sfb-v22-property-card{display:grid!important;grid-template-rows:112px auto;position:relative;overflow:hidden;min-width:0;padding:0!important;border:1px solid #e7e3db!important;border-radius:17px!important;background:#fff!important;text-align:left!important;color:#2f332c!important;box-shadow:0 8px 24px rgba(58,63,51,.04)!important}
.sfb-v22-property-image{display:block;background:linear-gradient(135deg,#b7bea7,#e7e1d4);background-size:cover;background-position:center}
.sfb-v22-property-body{display:flex;flex-direction:column;padding:13px 14px 15px;gap:4px}
.sfb-v22-property-body strong{font-family:"Playfair Display",Georgia,serif;font-size:17px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfb-v22-property-body small{font-size:9px;color:#868982}
.sfb-v22-property-body em{align-self:flex-start;margin-top:5px;padding:4px 7px;border-radius:7px;background:#edf2e6;color:#62754c;font-style:normal;font-size:8px;font-weight:800}
.sfb-v22-property-arrow{position:absolute;right:13px;bottom:13px;color:#9ca195;font-size:20px}

.sfb-v22-shortcuts{padding-bottom:12px}
.sfb-v22-shortcuts .sfb-v22-panel-head{padding-bottom:10px}
.sfb-v22-shortcuts>button{display:flex!important;align-items:center;gap:11px;width:calc(100% - 22px)!important;margin:2px 11px!important;padding:11px 12px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#3e4439!important;font-size:11px!important;font-weight:650!important;text-align:left!important;box-shadow:none!important}
.sfb-v22-shortcuts>button:hover{background:#f5f6f1!important}
.sfb-v22-shortcuts>button span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#f0f3ea;color:#64774a;font-size:15px}
.sfb-v22-occupancy{padding-bottom:18px;text-align:center}
.sfb-v22-occupancy .sfb-v22-panel-head{text-align:left;padding-bottom:8px}
.sfb-v22-ring{--pct:0;display:grid;place-items:center;width:116px;height:116px;margin:8px auto 12px;border-radius:50%;background:conic-gradient(#66784a calc(var(--pct)*1%),#eee8dd 0);position:relative}
.sfb-v22-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.sfb-v22-ring span{position:relative;z-index:1;font-family:"Playfair Display",Georgia,serif;font-size:25px;color:#53643b}
.sfb-v22-occupancy p{margin:0 auto 13px;max-width:210px;font-size:10px;line-height:1.5;color:#85887f}

@media(max-width:1150px){.sfb-v22-dashboard-grid{grid-template-columns:1fr}.sfb-v22-side-column{grid-template-columns:1fr 1fr;position:static}.sfb-v22-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.sfb-manager-portal{padding:22px 18px 45px!important}.sfb-v22-booking-row{grid-template-columns:7px minmax(140px,1.5fr) 1fr 1fr 80px 18px}.sfb-v22-booking-status{display:none}.sfb-v22-booking-meta{display:none}}
@media(max-width:620px){.sfb-manager-stat-grid{grid-template-columns:1fr 1fr!important}.sfb-v22-side-column{grid-template-columns:1fr}.sfb-v22-property-grid{grid-template-columns:1fr 1fr}.sfb-v22-booking-row{grid-template-columns:7px 1fr 18px}.sfb-v22-booking-date,.sfb-v22-booking-status,.sfb-v22-booking-meta{display:none}.sfb-manager-brand-name{font-size:29px!important}}

/* v0.22.2 property image manager */
.sfb-property-image-field small,.sfb-property-image-manager>small{display:block;margin-top:6px;color:#7b7e76;font-size:12px}
.sfb-property-image-manager{padding:14px;border:1px solid #e4e2d9;border-radius:16px;background:#fbfaf6}
.sfb-property-image-label{display:block;margin-bottom:9px;font-size:12px;font-weight:700;color:#3d4338}
.sfb-property-image-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sfb-property-image-preview{width:112px;height:72px;object-fit:cover;border-radius:12px;border:1px solid #dedbd0;background:#fff}
.sfb-property-image-placeholder{display:grid;place-items:center;width:112px;height:72px;border-radius:12px;border:1px dashed #d5d1c4;color:#98988f;font-size:11px;background:#fff}
.sfb-property-image-upload{position:relative;display:inline-flex!important;align-items:center!important;justify-content:center;padding:10px 14px!important;border:1px solid #cfd3c4;border-radius:12px;background:#fff;cursor:pointer;font-size:12px;font-weight:700;color:#55643e}
.sfb-property-image-upload input{position:absolute!important;inset:0;opacity:0;cursor:pointer;width:100%!important;height:100%!important}
.sfb-property-image-remove{display:flex!important;align-items:center!important;gap:7px!important;font-size:12px!important;color:#6f6f68!important}
.sfb-property-image-remove input{width:16px!important;height:16px!important;margin:0!important}
@media(max-width:760px){.sfb-property-image-row{align-items:flex-start}.sfb-property-image-preview,.sfb-property-image-placeholder{width:96px;height:64px}}


/* v0.22.3 property-centric hub */
.sfb-property-hub-section{padding-top:6px}
.sfb-property-hub-toolbar{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:#7d806f;font-size:13px}.sfb-property-hub-back{border:0;background:#f1eee5;color:#526044;border-radius:999px;padding:10px 15px;font-weight:700;cursor:pointer}
.sfb-property-hub{display:block}.sfb-property-hub[hidden]{display:none!important}
.sfb-property-hub-hero{display:grid;grid-template-columns:180px 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid #e7e2d7;border-radius:22px;padding:16px;box-shadow:0 8px 30px rgba(70,75,55,.06);margin-bottom:16px}
.sfb-property-hub-photo{height:118px;border-radius:16px;background:#ece9df center/cover no-repeat}.sfb-property-hub-photo:not([style]){background:linear-gradient(135deg,#dfe4d2,#f1eee5)}
.sfb-property-hub-title h2{margin:2px 0 7px;font-size:30px;color:#2f382d}.sfb-property-hub-title p{margin:0;color:#5f6759}.sfb-property-hub-title small{display:block;margin-top:7px;color:#8a8c7f}
.sfb-property-hub-action{border:0;border-radius:12px;background:#697755;color:#fff;padding:12px 18px;font-weight:800;cursor:pointer}
.sfb-property-hub-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.sfb-property-hub-stats>div{background:#f8f6ef;border:1px solid #e8e3d8;border-radius:16px;padding:16px}.sfb-property-hub-stats small{display:block;color:#858778;margin-bottom:5px}.sfb-property-hub-stats strong{font-size:22px;color:#33402f}
.sfb-property-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sfb-property-hub-card{background:#fff;border:1px solid #e7e2d7;border-radius:20px;padding:18px;box-shadow:0 7px 24px rgba(70,75,55,.045)}
.sfb-property-hub-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.sfb-property-hub-card-head h3{margin:2px 0 0;color:#343d31;font-size:19px}.sfb-property-hub-card-head button{border:0;background:#eef1e8;color:#5c6a4a;border-radius:999px;padding:8px 11px;font-weight:700;font-size:12px;cursor:pointer}
.sfb-property-hub-booking{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;border-top:1px solid #efebe2;background:transparent;padding:12px 2px;cursor:pointer;color:#394233}.sfb-property-hub-booking:first-of-type{border-top:0}.sfb-property-hub-booking span{display:flex;flex-direction:column;gap:3px}.sfb-property-hub-booking small{color:#8b8d82}.sfb-property-hub-booking b{font-size:22px;color:#849071}
.sfb-property-hub-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sfb-property-hub-money-grid span{background:#f8f6ef;border-radius:13px;padding:13px}.sfb-property-hub-money-grid small{display:block;color:#87897d}.sfb-property-hub-money-grid strong{display:block;margin-top:4px;color:#364330;font-size:18px}
.sfb-property-hub-card label{display:block;margin-top:10px}.sfb-property-hub-card label small{display:block;color:#858779;margin-bottom:4px}.sfb-property-hub-card label input{width:100%;box-sizing:border-box;border:1px solid #ddd8cc;border-radius:10px;padding:9px;background:#faf9f5;font-size:12px}.sfb-property-hub-sync-status{display:flex;gap:8px;align-items:center;color:#686d61;font-size:13px}.sfb-property-hub-sync-status i{width:9px;height:9px;border-radius:50%;background:#73835e}.sfb-property-hub-sync-status i.is-error{background:#a7695f}.sfb-property-hub-sync{margin-top:12px;width:100%;border-radius:10px!important}
.sfb-property-hub-mode{margin:0 0 8px;color:#6e7368}.sfb-property-hub-clean-row{display:flex;justify-content:space-between;border-top:1px solid #efebe2;padding:10px 0;color:#62685e}.sfb-property-hub-clean-row strong{color:#384034}.sfb-property-hub-empty{color:#8b8d82;margin:6px 0}
.sfb-property-hub-details{grid-column:1/-1}.sfb-property-hub-details dl{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}.sfb-property-hub-details dl>div{background:#f8f6ef;border-radius:12px;padding:12px}.sfb-property-hub-details dt{font-size:11px;color:#8a8c80;text-transform:uppercase;letter-spacing:.04em}.sfb-property-hub-details dd{margin:5px 0 0;color:#394233;font-weight:700}
@media(max-width:900px){.sfb-property-hub-hero{grid-template-columns:120px 1fr}.sfb-property-hub-action{grid-column:1/-1;width:100%}.sfb-property-hub-stats{grid-template-columns:1fr 1fr}.sfb-property-hub-grid{grid-template-columns:1fr}.sfb-property-hub-details{grid-column:auto}.sfb-property-hub-details dl{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sfb-property-hub-hero{grid-template-columns:1fr}.sfb-property-hub-photo{height:170px}.sfb-property-hub-title h2{font-size:25px}.sfb-property-hub-stats{grid-template-columns:1fr 1fr}.sfb-property-hub-details dl{grid-template-columns:1fr 1fr}}

/* v0.22.4 – Upcoming bookings with property image + inline details */
.sfb-v224-booking-item{border-bottom:1px solid #efede7;background:#fff}
.sfb-v224-booking-item:last-child{border-bottom:0}
.sfb-v224-booking-item .sfb-v22-booking-row{border-bottom:0!important;grid-template-columns:50px minmax(150px,1.35fr) minmax(105px,.75fr) minmax(105px,.75fr) 92px 82px 18px!important}
.sfb-v224-booking-thumb{width:44px;height:44px;border-radius:12px;overflow:hidden;background:#f1efe7;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(49,72,35,.08)}
.sfb-v224-booking-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.sfb-v224-booking-thumb-placeholder{font-size:22px;color:#6f7d60;line-height:1}
.sfb-v224-booking-item.is-open{background:#fbfaf6}
.sfb-v224-booking-item.is-open .sfb-v22-booking-row{background:#fbfaf6!important}
.sfb-v224-booking-item.is-open .sfb-v22-booking-arrow{transform:rotate(180deg)}
.sfb-v22-booking-arrow{transition:transform .16s ease}
.sfb-v224-booking-details{padding:0 18px 18px 81px;background:#fbfaf6}
.sfb-v224-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}
.sfb-v224-detail-grid>div{min-width:0;background:#fff;border:1px solid #ebe8df;border-radius:12px;padding:10px 12px}
.sfb-v224-detail-grid small{display:block;color:#898b83;font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.sfb-v224-detail-grid strong,.sfb-v224-detail-grid a,.sfb-v224-detail-grid span{display:block;color:#343930;font-size:13px;font-weight:650;overflow-wrap:anywhere;text-decoration:none}
.sfb-v224-detail-note{grid-column:1/-1}
.sfb-v224-detail-note span{font-weight:500;line-height:1.45}
.sfb-v224-detail-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:12px}
.sfb-v224-detail-actions button{border:0;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer}
.sfb-v224-booking-edit{background:#657d4d;color:#fff}
.sfb-v224-booking-close{background:#eceae3;color:#4d5349}
@media(max-width:850px){
  .sfb-v224-booking-item .sfb-v22-booking-row{grid-template-columns:46px minmax(140px,1.5fr) 1fr 1fr 18px!important}
  .sfb-v224-booking-item .sfb-v22-booking-status,.sfb-v224-booking-item .sfb-v22-booking-meta{display:none}
  .sfb-v224-booking-details{padding-left:74px}
  .sfb-v224-detail-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .sfb-v224-booking-item .sfb-v22-booking-row{grid-template-columns:42px 1fr 18px!important;gap:10px;padding:11px 12px!important}
  .sfb-v224-booking-thumb{width:40px;height:40px;border-radius:10px}
  .sfb-v224-booking-item .sfb-v22-booking-date{display:none}
  .sfb-v224-booking-details{padding:0 12px 14px 64px}
  .sfb-v224-detail-grid{grid-template-columns:1fr 1fr;gap:8px}
  .sfb-v224-detail-grid>div{padding:9px 10px}
  .sfb-v224-detail-note{grid-column:1/-1}
  .sfb-v224-detail-actions{justify-content:stretch}
  .sfb-v224-detail-actions button{flex:1}
}

/* v0.22.6 – flags only + cleaner booking history/property bookings */
.sfb-language-flags-only .sfb-language-menu-toggle{min-width:50px!important;width:50px!important;height:50px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border:1px solid #e7e2d7!important;box-shadow:0 6px 18px rgba(56,65,45,.08)!important}
.sfb-language-current-flag{font-size:23px;line-height:1;display:block}
.sfb-language-flags-only .sfb-language-menu{display:flex;gap:5px;padding:6px!important;width:auto!important;min-width:0!important;background:#fff!important}
.sfb-language-flags-only .sfb-language-menu[hidden]{display:none!important}
.sfb-language-flags-only .sfb-language-menu-option{width:42px!important;height:40px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:10px!important}
.sfb-language-flags-only .sfb-language-menu-option .sfb-language-flag{font-size:22px!important;line-height:1!important}

.sfb-manager-history-toggle{display:flex;align-items:center;gap:9px;width:100%;margin:8px 0 2px;padding:10px 13px;border:1px solid #e7e2d7!important;background:#f8f6ef!important;color:#5d684f!important;border-radius:12px!important;font-weight:750!important;cursor:pointer!important;box-sizing:border-box}
.sfb-manager-history-toggle .sfb-manager-history-checkbox{width:17px;height:17px;margin:0;flex:none;cursor:pointer}
.sfb-manager-history-toggle .sfb-manager-history-toggle-label{flex:1}
.sfb-manager-booking.is-history-hidden{display:none!important}

.sfb-property-hub-bookings{padding-bottom:14px!important}
.sfb-property-hub-booking{border:1px solid #ebe7dd!important;background:#fbfaf6!important;border-radius:14px!important;padding:12px 14px!important;margin:8px 0!important;transition:.15s ease!important;gap:14px!important}
.sfb-property-hub-booking:first-of-type{border-top:1px solid #ebe7dd!important}
.sfb-property-hub-booking:hover{background:#f5f3eb!important;border-color:#dfe3d4!important;transform:translateY(-1px)}
.sfb-property-hub-booking span{min-width:0;flex:1}
.sfb-property-hub-booking strong{font-size:15px;color:#30372e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfb-property-hub-booking small{margin-top:3px;font-size:12px;color:#7f8278!important}
.sfb-property-hub-booking b{width:30px;height:30px;border-radius:50%;background:#eef1e8;display:flex;align-items:center;justify-content:center;font-size:18px!important;color:#667556!important;flex:0 0 30px}


/* v0.22.7 – cleaner new-booking form + compact property bookings */
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-layout{
  grid-template-columns:minmax(0,1fr) minmax(430px,.9fr)!important;
  gap:20px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-card{
  padding:20px!important;
  background:#fff!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 16px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid label{
  min-width:0!important;
  font-size:12px!important;
  gap:6px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input,
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid select{
  min-width:0!important;
  height:46px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-note{
  grid-column:1/-1!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-note textarea{
  min-height:112px!important;
  resize:vertical!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-check{
  justify-content:flex-start!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-check span{
  min-height:34px!important;
  padding:0!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-footer{
  margin-top:16px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-booking{
  min-height:46px!important;
  padding:0 20px!important;
  border-radius:13px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-calendar-box{
  padding:16px!important;
  background:#fff!important;
}
@media(max-width:1120px){
  .sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-layout{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid{grid-template-columns:1fr!important}
  .sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-note{grid-column:auto!important}
}

/* Property hub bookings: compact rows rather than mini cards */
.sfb-property-hub-bookings{padding-bottom:12px!important}
.sfb-property-hub-booking{
  min-height:52px!important;
  margin:0!important;
  padding:9px 4px!important;
  border:0!important;
  border-top:1px solid #ece8de!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  gap:10px!important;
}
.sfb-property-hub-booking:first-of-type{border-top:0!important}
.sfb-property-hub-booking:hover{background:#f8f7f2!important;transform:none!important}
.sfb-property-hub-booking span{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:4px 14px!important;
  align-items:center!important;
  width:100%!important;
}
.sfb-property-hub-booking strong{
  font-size:14px!important;
  line-height:1.2!important;
}
.sfb-property-hub-booking small{
  margin:0!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.sfb-property-hub-booking b{
  width:24px!important;height:24px!important;flex:0 0 24px!important;
  background:transparent!important;font-size:19px!important;
}
@media(max-width:600px){
  .sfb-property-hub-booking span{grid-template-columns:1fr!important;gap:2px!important}
}

/* v0.22.8 – uniform booking form fields + proper property booking accordions */
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid > label:not(.sfb-manager-create-check):not(.sfb-manager-create-note){
  display:grid!important;
  grid-template-rows:18px 50px!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid > label:not(.sfb-manager-create-check):not(.sfb-manager-create-note) > span{
  display:block!important;
  line-height:18px!important;
  height:18px!important;
  margin:0!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input:not([type="checkbox"]),
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid select{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:12px!important;
  font-size:14px!important;
  line-height:1!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="date"],
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="time"]{
  -webkit-appearance:none!important;
  appearance:none!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-check{
  display:flex!important;
  align-items:center!important;
  min-height:40px!important;
  padding-top:18px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-check > span{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:22px!important;
  line-height:22px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-check input[type="checkbox"]{
  width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-note textarea{
  width:100%!important;box-sizing:border-box!important;border-radius:12px!important;
}

.sfb-property-hub-booking-item{
  border-top:1px solid #ece8de;
}
.sfb-property-hub-booking-item:first-of-type{border-top:0}
.sfb-property-hub-booking{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 28px!important;
  align-items:center!important;
  width:100%!important;
  min-height:52px!important;
  padding:9px 4px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:left!important;
}
.sfb-property-hub-booking-main{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-width:0!important;
  width:100%!important;
}
.sfb-property-hub-booking-main strong{font-size:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfb-property-hub-booking-main small{font-size:11px!important;color:#85877f!important;white-space:nowrap!important;margin:0!important}
.sfb-property-hub-booking-arrow{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:28px!important;height:28px!important;margin:0!important;background:transparent!important;
  color:#71805e!important;font-size:18px!important;line-height:1!important;transform:rotate(0);transition:transform .15s ease;
}
.sfb-property-hub-booking-item.is-open .sfb-property-hub-booking-arrow{transform:rotate(180deg)}
.sfb-property-hub-booking-details{
  padding:4px 4px 14px!important;
  background:#fbfaf6;
}
.sfb-property-hub-booking-detail-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;
}
.sfb-property-hub-booking-detail-grid span{background:#f2f1eb;border-radius:10px;padding:9px 10px;min-width:0}
.sfb-property-hub-booking-detail-grid small{display:block;font-size:9px;color:#8a8c82;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.sfb-property-hub-booking-detail-grid strong{display:block;font-size:12px;color:#35402f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfb-property-hub-booking-note{margin:9px 2px 0;font-size:12px;color:#73766d}
.sfb-property-hub-booking-edit{margin-top:10px!important;border:0!important;background:#657b45!important;color:#fff!important;border-radius:10px!important;padding:8px 12px!important;font-weight:700!important}
@media(max-width:700px){
  .sfb-property-hub-booking-main{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}
  .sfb-property-hub-booking-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== v0.22.9 — mobile navigation + useful booking/status summary ===== */
.sfb-mobile-menu-toggle{display:none!important}
.sfb-v229-mobile-booking-info{display:none}

/* Status color follows the booking article (the state class lives there). */
.sfb-v224-booking-item.is-current-stay .sfb-v22-booking-status,
.sfb-v224-booking-item.is-current-stay .sfb-v229-mobile-status{background:#dfe9d3;color:#51643a}
.sfb-v224-booking-item.is-arrival-today .sfb-v22-booking-status,
.sfb-v224-booking-item.is-arrival-today .sfb-v229-mobile-status{background:#edf2e1;color:#627347}
.sfb-v224-booking-item.is-checkout-today .sfb-v22-booking-status,
.sfb-v224-booking-item.is-checkout-today .sfb-v229-mobile-status{background:#f6eee0;color:#8a6c35}
.sfb-v224-booking-item.is-upcoming-stay .sfb-v22-booking-status,
.sfb-v224-booking-item.is-upcoming-stay .sfb-v229-mobile-status{background:#f1f2ed;color:#697064}

@media(max-width:620px){
  /* Mobile menu replaces the row of large navigation buttons. */
  .sfb-mobile-menu-toggle{
    display:grid!important;
    grid-template-columns:28px auto 1fr;
    align-items:center;
    gap:10px;
    width:100%!important;
    min-height:48px!important;
    margin:0 0 10px!important;
    padding:9px 13px!important;
    border:1px solid #e4e1d8!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#343a31!important;
    box-shadow:0 5px 18px rgba(49,55,43,.05)!important;
    text-align:left!important;
  }
  .sfb-mobile-menu-icon{display:flex;flex-direction:column;gap:4px;width:20px}
  .sfb-mobile-menu-icon i{display:block;width:20px;height:2px;border-radius:2px;background:#657647}
  .sfb-mobile-menu-label{font-size:12px;font-weight:800;color:#657647}
  .sfb-mobile-menu-current{justify-self:end;min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;color:#777b72}
  .sfb-manager-nav{
    display:none!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    margin:0 0 15px!important;
    padding:7px!important;
  }
  .sfb-manager-nav.is-mobile-open{display:grid!important}
  .sfb-manager-nav button{width:100%!important;min-width:0!important;min-height:44px!important;padding:9px 8px!important;font-size:12px!important}
  .sfb-manager-nav button.is-primary{grid-column:1/-1!important}

  /* On a phone, only the two genuinely useful KPI cards remain. */
  .sfb-manager-stat-grid{grid-template-columns:1fr 1fr!important;gap:9px!important;margin-bottom:14px!important}
  .sfb-manager-stat-card{display:none!important}
  .sfb-manager-stat-card:nth-child(2),
  .sfb-manager-stat-card:nth-child(4){
    display:block!important;
    min-height:72px!important;
    padding:12px 12px!important;
    border-radius:14px!important;
  }
  .sfb-manager-stat-card:nth-child(2):before,
  .sfb-manager-stat-card:nth-child(4):before{display:none!important}
  .sfb-manager-stat-card small{font-size:9px!important;line-height:1.2!important}
  .sfb-manager-stat-card strong{margin:5px 0 0!important;font-size:22px!important;line-height:1!important}
  .sfb-manager-stat-card span{display:none!important}

  /* Upcoming booking: keep dates and state visible instead of hiding the important information. */
  .sfb-v224-booking-item .sfb-v22-booking-row{
    grid-template-columns:42px minmax(0,1fr) 20px!important;
    grid-template-rows:auto auto!important;
    gap:5px 10px!important;
    padding:11px 12px!important;
    align-items:center!important;
  }
  .sfb-v224-booking-thumb{grid-column:1;grid-row:1/3}
  .sfb-v22-booking-guest{grid-column:2;grid-row:1}
  .sfb-v229-mobile-booking-info{
    display:flex!important;
    grid-column:2;
    grid-row:2;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    min-width:0;
  }
  .sfb-v229-mobile-dates{font-size:10px;font-weight:650;color:#5c6258;white-space:nowrap}
  .sfb-v229-mobile-status{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}
  .sfb-v22-booking-arrow{grid-column:3;grid-row:1/3;align-self:center}
  .sfb-v224-booking-item .sfb-v22-booking-date,
  .sfb-v224-booking-item .sfb-v22-booking-status,
  .sfb-v224-booking-item .sfb-v22-booking-meta{display:none!important}
  .sfb-v22-booking-guest strong{font-size:13px!important}
  .sfb-v22-booking-guest small{font-size:9px!important}
}

/* v0.22.10 – iOS/Safari: vertically centre date and time values in manual booking */
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="date"],
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="time"]{
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  padding:0 14px!important;
  line-height:50px!important;
  text-align:left!important;
  vertical-align:middle!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="date"]::-webkit-date-and-time-value,
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="time"]::-webkit-date-and-time-value{
  display:block!important;
  width:100%!important;
  height:50px!important;
  line-height:50px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="date"]::-webkit-datetime-edit,
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="time"]::-webkit-datetime-edit{
  display:flex!important;
  align-items:center!important;
  height:50px!important;
  line-height:50px!important;
  padding:0!important;
}
@media(max-width:700px){
  .sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="date"],
  .sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-grid input[type="time"]{
    font-size:16px!important;
  }
}

/* v0.22.12 — compact mobile top-right controls */
.sfb-mobile-sync-item{display:none!important}
@media(max-width:620px){
  .sfb-manager-topbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:10px!important;
    padding:4px 2px 10px!important;
  }
  .sfb-manager-brand{min-width:0;flex:1 1 auto}
  .sfb-manager-brand-name{font-size:23px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sfb-manager-brand-sub{font-size:9px!important;letter-spacing:.08em}
  .sfb-manager-actions{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-left:auto!important;
  }
  .sfb-desktop-sync{display:none!important}
  .sfb-manager-actions .sfb-language-menu-toggle{
    min-width:42px!important;
    width:42px!important;
    height:42px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  .sfb-manager-actions .sfb-language-menu-toggle .sfb-language-label,
  .sfb-manager-actions .sfb-language-menu-toggle .sfb-language-chevron{display:none!important}
  .sfb-manager-actions .sfb-logout-button,
  .sfb-manager-actions a.sfb-portal-logout{
    min-height:42px!important;
    height:42px!important;
    padding:0 11px!important;
    border-radius:12px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .sfb-mobile-menu-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #e4e1d8!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(63,70,49,.05)!important;
  }
  .sfb-mobile-menu-icon{display:flex!important;flex-direction:column!important;gap:4px!important;width:20px!important}
  .sfb-mobile-menu-icon i{display:block!important;width:20px!important;height:2px!important;border-radius:2px!important;background:#657647!important}
  .sfb-mobile-menu-label,.sfb-mobile-menu-current{display:none!important}
  .sfb-manager-nav{
    margin-top:0!important;
    margin-bottom:14px!important;
  }
  .sfb-manager-nav .sfb-mobile-sync-item{
    display:block!important;
    grid-column:1/-1!important;
    color:#596746!important;
    background:#f4f6ef!important;
  }
}


/* v0.22.13 — force compact one-line mobile header: brand left, controls right */
@media(max-width:620px){
  .sfb-manager-topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:space-between!important;
    column-gap:10px!important;
    row-gap:0!important;
    flex-wrap:nowrap!important;
  }
  .sfb-manager-brand{
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
    justify-self:start!important;
    align-self:center!important;
    text-align:left!important;
  }
  .sfb-manager-brand-name{
    display:block!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:21px!important;
    line-height:1.05!important;
  }
  .sfb-manager-brand-sub{
    display:block!important;
    text-align:left!important;
    white-space:nowrap!important;
  }
  .sfb-manager-actions{
    flex:none!important;
    width:auto!important;
    max-width:none!important;
    margin-left:0!important;
    justify-self:end!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    align-self:center!important;
  }
}


/* v0.22.14 — instant availability status in New booking */
.sfb-manager-availability-status{
  grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:10px!important;
  min-height:48px!important;padding:10px 13px!important;margin:-2px 0 2px!important;border:1px solid #e3e0d7!important;
  border-radius:13px!important;background:#faf9f5!important;color:#62675d!important;box-sizing:border-box!important;
}
.sfb-manager-availability-dot{width:10px;height:10px;border-radius:50%;background:#b5b8af;flex:0 0 10px}
.sfb-manager-availability-status div{display:flex;flex-direction:column;gap:2px;min-width:0}
.sfb-manager-availability-status strong{font-size:13px!important;line-height:1.2!important;color:#46503f!important}
.sfb-manager-availability-status small{font-size:10px!important;line-height:1.3!important;color:#81847c!important}
.sfb-manager-availability-status.is-free{background:#f3f7ed!important;border-color:#d8e3c8!important}
.sfb-manager-availability-status.is-free .sfb-manager-availability-dot{background:#6f8a4c}
.sfb-manager-availability-status.is-free strong{color:#50683a!important}
.sfb-manager-availability-status.is-busy,.sfb-manager-availability-status.is-invalid{background:#fbefec!important;border-color:#efd1ca!important}
.sfb-manager-availability-status.is-busy .sfb-manager-availability-dot,.sfb-manager-availability-status.is-invalid .sfb-manager-availability-dot{background:#b85e50}
.sfb-manager-availability-status.is-busy strong,.sfb-manager-availability-status.is-invalid strong{color:#94483d!important}
.sfb-manager-availability-status.is-warning{background:#fff8e8!important;border-color:#e8d49e!important}
.sfb-manager-availability-status.is-warning .sfb-manager-availability-dot{background:#c68a22!important}
.sfb-manager-availability-status.is-warning strong{color:#805915!important}
.sfb-temporary-block-help{display:block;margin-top:5px;color:#805915;font-size:10px;line-height:1.35}
@media(max-width:700px){
  .sfb-manager-availability-status{min-height:44px!important;padding:9px 11px!important;margin:0!important}
}


/* v0.22.15 — price / discount / deposit controls */
.sfb-manager-price-preview{
  min-height:50px;border:1px solid #e2ded4;border-radius:13px;background:#f8f8f3;padding:9px 12px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 10px;align-items:center;
}
.sfb-manager-price-preview-label{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#84887d}
.sfb-manager-price-preview-total{grid-column:2;grid-row:1/3;font-family:"Playfair Display",Georgia,serif;font-size:24px;font-weight:600;color:#52623d;white-space:nowrap}
.sfb-manager-price-preview-breakdown{font-size:10px;color:#777c72;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sfb-manager-price-preview.is-ready{background:#f3f6ed;border-color:#d8e1cc}
.sfb-manager-price-preview.is-error{background:#fff5f2;border-color:#efc8be}
.sfb-manager-price-preview.is-error .sfb-manager-price-preview-total{color:#9a4437}
.sfb-manager-discount-value[hidden]{display:none!important}
@media(max-width:620px){
  .sfb-manager-price-preview{grid-column:1/-1!important}
  .sfb-manager-price-preview-total{font-size:21px}
}


/* v0.22.16 — new booking starts with availability calendar */
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-calendar-box{
  order:1!important;
  width:100%!important;
  max-width:none!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-card{
  order:2!important;
  width:100%!important;
  max-width:none!important;
}
.sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-calendar-box .sfb-public-calendar{
  max-width:none!important;
  width:100%!important;
}
@media (min-width:900px){
  .sfb-manager-section[data-manager-section="new-booking"] .sfb-manager-create-calendar-box{
    padding:18px 22px!important;
  }
}


/* v0.22.19 — right-side mobile menu drawer + collapsible upcoming bookings */
body.sfb-mobile-nav-open{overflow:hidden}
.sfb-v22-panel-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sfb-v22-collapse-toggle{display:none!important}
@media(max-width:620px){
  body.sfb-mobile-nav-open:before{
    content:"";position:fixed;inset:0;background:rgba(34,39,31,.26);z-index:9997;
  }
  #sfb-manager-nav-main.sfb-manager-nav{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(320px,84vw)!important;
    height:100vh!important;
    margin:0!important;
    padding:86px 16px 20px!important;
    background:#fff!important;
    border-radius:22px 0 0 22px!important;
    border-left:1px solid #ebe7dd!important;
    box-shadow:-18px 0 42px rgba(36,44,33,.14)!important;
    transform:translateX(108%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    overflow-y:auto!important;
    z-index:9998!important;
    transition:transform .22s ease, opacity .18s ease!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav.is-mobile-open{
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav button{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:12px 14px!important;
    font-size:14px!important;
    text-align:left!important;
    justify-content:flex-start!important;
    border-radius:14px!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav button.is-primary{
    grid-column:auto!important;
    margin-top:6px!important;
    order:99!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav .sfb-mobile-sync-item{
    display:block!important;
    order:98!important;
  }
  .sfb-mobile-menu-toggle.is-open{
    background:#f5f6ef!important;
    border-color:#d9d5c7!important;
  }
  .sfb-mobile-menu-toggle.is-open .sfb-mobile-menu-icon{
    position:relative!important;
    width:18px!important;
    height:18px!important;
    gap:0!important;
  }
  .sfb-mobile-menu-toggle.is-open .sfb-mobile-menu-icon i{
    position:absolute!important;
    top:8px!important;
    left:0!important;
    width:18px!important;
  }
  .sfb-mobile-menu-toggle.is-open .sfb-mobile-menu-icon i:nth-child(1){transform:rotate(45deg)!important}
  .sfb-mobile-menu-toggle.is-open .sfb-mobile-menu-icon i:nth-child(2){opacity:0!important}
  .sfb-mobile-menu-toggle.is-open .sfb-mobile-menu-icon i:nth-child(3){transform:rotate(-45deg)!important}

  .sfb-v22-upcoming-panel .sfb-v22-panel-head{
    align-items:center!important;
  }
  .sfb-v22-panel-head-actions{
    margin-left:auto!important;
    gap:8px!important;
  }
  .sfb-v22-collapse-toggle{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    min-height:38px!important;
    padding:0 11px!important;
    border:1px solid #e3dfd5!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#52623d!important;
    font-size:12px!important;
    font-weight:700!important;
    box-shadow:none!important;
  }
  .sfb-v22-collapse-toggle-icon{
    display:inline-block!important;
    font-size:14px!important;
    line-height:1!important;
    transform:rotate(0deg);
    transition:transform .18s ease;
  }
  .sfb-v22-upcoming-panel.is-collapsed .sfb-v22-collapse-toggle-icon{transform:rotate(-90deg)}
  .sfb-v22-upcoming-body[hidden]{display:none!important}
}


/* v0.22.20 — mobile upcoming bookings layout refinements */
@media(max-width:620px){
  .sfb-v22-upcoming-panel .sfb-v22-panel-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  .sfb-v22-upcoming-panel .sfb-v22-panel-head h3{
    font-size:22px!important;
    line-height:1.04!important;
    max-width:none!important;
  }
  .sfb-v22-upcoming-panel .sfb-v22-panel-head-actions{
    width:100%!important;
    margin-left:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
  }
  .sfb-v22-upcoming-panel .sfb-v22-text-button,
  .sfb-v22-upcoming-panel .sfb-v22-collapse-toggle{
    min-height:42px!important;
    padding:0 14px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1!important;
  }
  .sfb-v22-upcoming-panel .sfb-v22-collapse-toggle{
    display:inline-flex!important;
    justify-content:center!important;
  }

  .sfb-v224-booking-item .sfb-v22-booking-row,
  .sfb-v224-booking-item .sfb-v224-booking-toggle{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  .sfb-v224-booking-item .sfb-v22-booking-row{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    justify-items:start!important;
    gap:6px 12px!important;
    padding:13px 16px!important;
  }
  .sfb-v224-booking-item .sfb-v22-booking-guest,
  .sfb-v224-booking-item .sfb-v229-mobile-booking-info{
    width:100%!important;
    min-width:0!important;
  }
  .sfb-v224-booking-item .sfb-v229-mobile-booking-info{
    justify-content:flex-start!important;
  }
  .sfb-v224-booking-item .sfb-v22-booking-arrow{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:end!important;
    width:auto!important;
    margin-left:2px!important;
    text-align:right!important;
    font-size:20px!important;
  }
}


/* v0.22.21 — compact mobile menu drawer */
@media(max-width:620px){
  #sfb-manager-nav-main.sfb-manager-nav{
    width:min(274px,74vw)!important;
    top:10px!important;
    right:10px!important;
    bottom:10px!important;
    height:auto!important;
    padding:72px 12px 14px!important;
    gap:4px!important;
    border-radius:20px!important;
    box-shadow:-16px 0 34px rgba(36,44,33,.11)!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav button{
    margin:0!important;
    min-height:40px!important;
    padding:10px 12px!important;
    border-radius:12px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav button.is-primary,
  #sfb-manager-nav-main.sfb-manager-nav .sfb-mobile-sync-item{
    margin-top:8px!important;
  }
}


/* v0.22.22 — compact app-style mobile drawer, inspired by the Padel menu */
.sfb-mobile-drawer-head{display:none}
@media(max-width:620px){
  #sfb-manager-nav-main.sfb-manager-nav{
    width:min(292px,78vw)!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    height:100dvh!important;
    padding:16px 14px 18px!important;
    gap:4px!important;
    border-radius:18px 0 0 18px!important;
    align-content:flex-start!important;
    justify-content:flex-start!important;
  }
  .sfb-mobile-drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    flex:0 0 auto!important;
    min-height:58px!important;
    padding:4px 4px 12px!important;
    margin-bottom:6px!important;
    border-bottom:1px solid #ece9e0!important;
  }
  .sfb-mobile-drawer-head>div{min-width:0}
  .sfb-mobile-drawer-head strong{
    display:block!important;
    font-size:17px!important;
    line-height:1.15!important;
    color:#30382d!important;
  }
  .sfb-mobile-drawer-head small{
    display:block!important;
    margin-top:3px!important;
    font-size:10px!important;
    color:#8b8e84!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav .sfb-mobile-drawer-close{
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:12px!important;
    background:#f4f5ef!important;
    color:#657056!important;
    font-size:24px!important;
    font-weight:400!important;
    line-height:1!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav > button:not(.sfb-mobile-drawer-close){
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#3f483b!important;
    font-size:14px!important;
    font-weight:750!important;
    line-height:1!important;
    box-shadow:none!important;
    text-align:left!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav > button.is-active:not(.is-primary){
    background:#eef2e7!important;
    color:#53673b!important;
    box-shadow:none!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav > button.is-primary{
    flex:0 0 auto!important;
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:8px 0 0!important;
    padding:0 14px!important;
    border-radius:12px!important;
    background:#66794a!important;
    color:#fff!important;
    box-shadow:none!important;
    order:99!important;
  }
  #sfb-manager-nav-main.sfb-manager-nav .sfb-mobile-sync-item{
    flex:0 0 auto!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:8px 0 0!important;
    padding:0 14px!important;
    border:1px solid #d8ddcd!important;
    background:#f8f9f5!important;
    color:#596948!important;
    order:98!important;
  }
}

/* v0.22.23 — cleaner mobile calendar header + auto-start from today */
.sfb-manager-calendar-wrap{
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
}
.sfb-manager-calendar-controls strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:160px;
  min-height:36px;
  padding:0 4px;
  text-align:center;
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
  font-weight:600;
  color:#2d312a;
  text-transform:capitalize;
}

@media(max-width:760px){
  .sfb-manager-section[data-manager-section="calendar"] .sfb-manager-section-title{
    display:grid!important;
    gap:14px!important;
    align-items:start!important;
  }
  .sfb-manager-section[data-manager-section="calendar"] .sfb-manager-section-title > div:first-child h3{
    margin-bottom:6px!important;
  }
  .sfb-manager-calendar-controls{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .sfb-manager-calendar-controls button{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    border-radius:14px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    font-size:30px!important;
    line-height:1!important;
  }
  .sfb-manager-calendar-controls strong{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    font-size:19px!important;
    line-height:1.1!important;
    padding:0 6px!important;
  }
  .sfb-manager-calendar-wrap{
    padding-bottom:2px!important;
  }
}

/* v0.22.24 – calendar sync collapsed by default */
.sfb-tools-calendar-sync{
  margin-top:22px!important;
  overflow:hidden;
}
.sfb-tools-calendar-sync-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  cursor:pointer;
}
.sfb-tools-calendar-sync-summary::-webkit-details-marker{display:none}
.sfb-tools-calendar-sync-summary h4{
  margin:0 0 4px!important;
}
.sfb-tools-calendar-sync-summary span{
  color:#7f8574;
}
.sfb-tools-calendar-sync-chevron{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid #e5e0d2;
  color:#66794a;
  background:#fff;
  transition:transform .18s ease;
}
.sfb-tools-calendar-sync[open] .sfb-tools-calendar-sync-chevron{
  transform:rotate(180deg);
}
.sfb-tools-calendar-sync .sfb-tools-calendar-sync-grid{
  padding-top:0;
}
@media(max-width:760px){
  .sfb-tools-calendar-sync-summary{
    padding:16px 16px;
    align-items:flex-start;
  }
  .sfb-tools-calendar-sync-summary h4{
    font-size:26px!important;
  }
  .sfb-tools-calendar-sync-summary span{
    font-size:14px!important;
    line-height:1.35!important;
  }
  .sfb-tools-calendar-sync-chevron{
    width:30px;
    height:30px;
    font-size:14px;
  }
}


/* v0.22.26 — rolling calendar month indicator + upcoming collapsed by default */
.sfb-manager-calendar-scroll-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 0 8px;padding:0 2px;color:#6d745f;
}
.sfb-manager-calendar-visible-month{
  font-family:"Playfair Display",Georgia,serif;font-size:20px;font-weight:600;color:#30362e;text-transform:capitalize;
}
.sfb-manager-calendar-scroll-head small{font-size:11px;color:#9a9d94}
.sfb-manager-cal-head-day{position:relative}
.sfb-manager-cal-head-day em{
  position:absolute;top:-17px;left:3px;font-style:normal;font-size:8px;font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;color:#66794a;white-space:nowrap;
}
.sfb-v22-upcoming-panel.is-collapsed .sfb-v22-panel-head{border-bottom:0!important}
@media(max-width:760px){
  .sfb-manager-calendar-scroll-head{margin-top:-4px;margin-bottom:9px}
  .sfb-manager-calendar-visible-month{font-size:18px}
  .sfb-manager-calendar-head{padding-top:18px}
}


/* v0.22.27 — unified drawer navigation, stable booking editor, calendar + contract UI */
.sfb-desktop-sync{display:none!important}
.sfb-mobile-menu-toggle{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;
  padding:0!important;border:1px solid #e4e1d8!important;border-radius:14px!important;background:#fff!important;
}
#sfb-manager-nav-main.sfb-manager-nav{
  display:flex!important;flex-direction:column!important;gap:4px!important;
  position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
  width:min(320px,86vw)!important;height:100dvh!important;margin:0!important;padding:18px 14px!important;
  background:#fff!important;border-radius:22px 0 0 22px!important;border-left:1px solid #ebe7dd!important;
  box-shadow:-18px 0 44px rgba(36,44,33,.14)!important;transform:translateX(105%)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;overflow-y:auto!important;z-index:9998!important;
  transition:transform .22s ease,opacity .18s ease!important;
}
#sfb-manager-nav-main.sfb-manager-nav.is-mobile-open{transform:translateX(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
#sfb-manager-nav-main.sfb-manager-nav>button:not(.sfb-mobile-drawer-close){
  width:100%!important;min-height:44px!important;padding:0 14px!important;margin:0!important;border:0!important;
  border-radius:12px!important;background:transparent!important;color:#3f483b!important;font-size:14px!important;font-weight:750!important;text-align:left!important;
}
#sfb-manager-nav-main.sfb-manager-nav>button.is-active:not(.is-primary){background:#eef2e7!important;color:#53673b!important}
#sfb-manager-nav-main.sfb-manager-nav .sfb-mobile-sync-item{display:flex!important;border:1px solid #d8ddcd!important;background:#f8f9f5!important;margin-top:10px!important}
#sfb-manager-nav-main.sfb-manager-nav>button.is-primary{background:#66794a!important;color:#fff!important;margin-top:6px!important}
body.sfb-mobile-nav-open:before{content:"";position:fixed;inset:0;background:rgba(34,39,31,.28);z-index:9997}
body.sfb-mobile-nav-open{overflow:hidden!important}

/* v0.22.38 — keep the hamburger visible in Safari/iPad. */
.sfb-manager-portal .sfb-mobile-menu-toggle:not(.is-open) .sfb-mobile-menu-icon{
  display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;width:21px!important;height:18px!important;
}
.sfb-manager-portal .sfb-mobile-menu-toggle:not(.is-open) .sfb-mobile-menu-icon i{
  display:block!important;position:static!important;width:21px!important;height:2px!important;min-height:2px!important;
  margin:0!important;border:0!important;border-radius:2px!important;background:#111!important;opacity:1!important;transform:none!important;
}

/* v0.22.40 — scroll calendars and clickable dashboard brand */
.sfb-manager-home-link{display:block!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important;cursor:pointer!important;line-height:1.08!important}
.sfb-scroll-calendar-card{margin:0 0 20px;padding:20px;background:#fff;border:1px solid #e7e2d7;border-radius:22px;box-shadow:0 8px 28px rgba(60,67,48,.05)}
.sfb-property-scroll-calendar-card{margin:18px 0 20px}
.sfb-scroll-calendar-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.sfb-scroll-calendar-head h3{margin:2px 0 3px;font-family:"Playfair Display",Georgia,serif;font-size:26px;color:#30382d}
.sfb-scroll-calendar-head p{margin:0;color:#7c8077;font-size:12px}
.sfb-scroll-calendar-toggle{flex:0 0 auto!important;min-height:38px!important;padding:0 13px!important;border:1px solid #d8ddcd!important;border-radius:12px!important;background:#f5f7f1!important;color:#596b42!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important}
.sfb-scroll-calendar-scope-buttons{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.sfb-scroll-calendar-scope{min-height:38px!important;padding:0 13px!important;border:1px solid #d8ddcd!important;border-radius:12px!important;background:#f5f7f1!important;color:#596b42!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important;cursor:pointer}
.sfb-scroll-calendar-scope.is-active{background:#56623F!important;border-color:#56623F!important;color:#fff!important}
.sfb-scroll-calendar-scope:disabled{opacity:.6;cursor:default}
.sfb-scroll-calendar-placeholder{margin:18px 4px;color:#8a8f83;font-size:13px;text-align:center}
.sfb-manager-calendar-scope-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.sfb-manager-calendar-scope-buttons span{font-size:12px;color:#7c8077;font-weight:700}
.sfb-manager-calendar-scope{min-height:36px!important;padding:0 13px!important;border:1px solid #d8ddcd!important;border-radius:12px!important;background:#f5f7f1!important;color:#596b42!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important;cursor:pointer}
.sfb-manager-calendar-scope.is-active{background:#56623F!important;border-color:#56623F!important;color:#fff!important}
.sfb-manager-calendar-scope:disabled{opacity:.6;cursor:default}
.sfb-scroll-calendar-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin:12px 0 18px}
.sfb-scroll-calendar-legend span{display:inline-flex;align-items:center;gap:6px;color:#5e645a;font-size:11px;font-weight:700}
.sfb-scroll-calendar-legend i{width:11px;height:11px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.sfb-scroll-calendar{display:grid;gap:22px}
.sfb-scroll-month{overflow:hidden;border:1px solid #dedbd2;border-radius:18px;background:#fbfaf7}
.sfb-scroll-month>h4{margin:0;padding:14px 16px;background:#f2f3ed;border-bottom:1px solid #dedbd2;font-family:"Playfair Display",Georgia,serif;font-size:22px;text-transform:capitalize;color:#36402f}
.sfb-scroll-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;border-bottom:1px solid #e6e2d9}
.sfb-scroll-weekdays span{padding:8px 6px;text-align:center;color:#777d72;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.sfb-scroll-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:28px repeat(var(--sfb-lanes),23px);min-height:calc(28px + (var(--sfb-lanes) * 23px) + 7px);border-bottom:1px solid #e4e0d7;position:relative}
.sfb-scroll-week:last-child{border-bottom:0}
.sfb-scroll-day{grid-row:1/-1;min-width:0;padding:5px 7px;border-right:1px solid #e4e0d7;background:#fff;z-index:0}
.sfb-scroll-day:nth-of-type(7){border-right:0}
.sfb-scroll-day strong{display:block;font-size:11px;color:#4c5349}
.sfb-scroll-day.is-outside{background:#f4f2ed}.sfb-scroll-day.is-outside strong{color:#b1b1aa}
.sfb-scroll-day.is-today{box-shadow:inset 0 0 0 2px #647847}.sfb-scroll-day.is-today strong{color:#536b36;font-weight:900}
.sfb-scroll-event{display:flex!important;align-items:center!important;justify-content:center!important;align-self:center;z-index:2;height:19px!important;min-height:19px!important;min-width:0;margin:0 2px!important;padding:0 6px!important;border:0!important;border-radius:5px!important;color:#fff!important;font-size:9px!important;font-weight:800!important;line-height:1!important;text-align:center!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:0 1px 3px rgba(30,35,25,.16)}
.sfb-scroll-event-property{flex:none;white-space:nowrap}
.sfb-scroll-event-guest{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sfb-scroll-event:hover{filter:brightness(.94)}
.sfb-scroll-calendar-jump-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;width:100%}
.sfb-scroll-calendar-jump-row label{display:flex;align-items:center;gap:6px;font-size:11px;color:#7c8077!important;font-weight:700!important}
.sfb-scroll-calendar-jump-row select{padding:6px 8px!important;border:1px solid #d8ddcd!important;border-radius:8px!important;background:#fff!important;font-size:11px!important;color:#3c4536!important}
.sfb-scroll-calendar-jump{min-height:34px!important;padding:0 12px!important;border:1px solid #d8ddcd!important;border-radius:10px!important;background:#f5f7f1!important;color:#56623F!important;font-size:11px!important;font-weight:800!important;cursor:pointer}
.sfb-scroll-calendar-jump:hover{background:#eef1e6!important}
.sfb-manager-calendar-scope-buttons+.sfb-scroll-calendar-jump-row{margin:0 0 14px}
.sfb-ledger-split-warning{display:inline-flex!important;width:max-content;padding:4px 8px;border-radius:999px;background:#fff0cf;color:#8b5b0b;font-size:9px!important;font-weight:850!important;line-height:1.2!important}
@media(max-width:700px){
 .sfb-scroll-calendar-card{padding:12px;border-radius:16px}
 .sfb-scroll-calendar-head h3{font-size:22px}
 .sfb-scroll-month>h4{font-size:19px;padding:12px}
 .sfb-scroll-week{grid-template-rows:26px repeat(var(--sfb-lanes),24px);min-height:calc(26px + (var(--sfb-lanes) * 24px) + 6px)}
 .sfb-scroll-day{padding:4px}.sfb-scroll-day strong{font-size:10px}
 .sfb-scroll-calendar-head{align-items:center}.sfb-scroll-calendar-head p{display:none}.sfb-scroll-calendar-toggle{min-height:34px!important;padding:0 9px!important;font-size:9px!important}
 .sfb-scroll-calendar-scope-buttons{width:100%}
 .sfb-scroll-calendar-scope{min-height:34px!important;padding:0 10px!important;font-size:10px!important;flex:1}
 .sfb-scroll-event{height:20px!important;min-height:20px!important;line-height:1!important;padding:0 4px!important;font-size:9px!important;gap:3px}
 .sfb-scroll-event-property{display:none} /* colour + legend already identify the property; drop the prefix so the guest name fits */
 .sfb-scroll-calendar-jump-row{width:100%;flex-direction:column;align-items:stretch;padding-top:8px;border-top:1px solid #ece7dc}
 .sfb-scroll-calendar-jump-row label{flex-wrap:wrap;white-space:nowrap}
 .sfb-scroll-calendar-jump-row select{flex:1;min-width:110px;max-width:100%}
 .sfb-scroll-calendar-jump{flex:0 0 auto;width:100%}
}

/* Overview stats: occupied today removed; remaining cards use space cleanly. */
.sfb-manager-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Upcoming bookings collapsible on every layout. */
.sfb-v22-collapse-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  min-height:40px!important;padding:0 14px!important;border:1px solid #e3dfd5!important;border-radius:14px!important;background:#fff!important;color:#52623d!important;font-weight:750!important}
.sfb-v22-upcoming-body[hidden]{display:none!important}

/* Calendar visible month must always be obvious. */
.sfb-manager-calendar-scroll-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:2px 0 10px!important;padding:0 4px!important}
.sfb-manager-calendar-visible-month{display:block!important;font-family:"Playfair Display",Georgia,serif!important;font-size:23px!important;font-weight:650!important;color:#30382d!important;text-transform:capitalize!important}
.sfb-manager-calendar-scroll-head small{font-size:11px!important;color:#92968d!important}
.sfb-tools-calendar-sync:not([open])>.sfb-tools-calendar-sync-grid{display:none!important}

/* Booking drawer: absolutely no horizontal page drift. */
html:has(body.sfb-drawer-open),body.sfb-drawer-open{overflow-x:hidden!important}
.sfb-booking-drawer{box-sizing:border-box!important;max-width:100vw!important;overflow:hidden!important}
.sfb-booking-drawer-body{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
.sfb-booking-drawer-body .sfb-manager-booking,
.sfb-booking-drawer-body .sfb-manager-booking-edit-panel,
.sfb-booking-drawer-body .sfb-manager-edit-grid,
.sfb-booking-drawer-body .sfb-booking-payment-editor,
.sfb-booking-drawer-body .sfb-booking-payment-form,
.sfb-booking-drawer-body .sfb-manager-booking-footer{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
.sfb-booking-drawer-body input,.sfb-booking-drawer-body select,.sfb-booking-drawer-body textarea,.sfb-booking-drawer-body button{box-sizing:border-box!important;max-width:100%!important;min-width:0!important}
.sfb-booking-drawer-body .sfb-manager-edit-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.sfb-booking-drawer-body .sfb-manager-edit-grid>label{min-width:0!important;width:100%!important}
.sfb-booking-drawer-body .sfb-booking-payment-editor-head{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.sfb-booking-drawer-body .sfb-booking-payment-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:end!important}
.sfb-booking-drawer-body .sfb-booking-payment-form>button,.sfb-booking-drawer-body .sfb-booking-payment-message{grid-column:auto!important}
.sfb-booking-drawer-body .sfb-manager-booking-footer{display:flex!important;flex-wrap:wrap!important;align-items:flex-end!important;gap:10px!important}
.sfb-contract-language-field{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:170px!important}
.sfb-contract-language-field>span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:#85887f!important;font-weight:750!important}
.sfb-tools-contract-language{height:44px!important;min-width:160px!important;border-radius:12px!important;padding:0 12px!important;background:#fff!important}

@media(max-width:700px){
  .sfb-manager-stat-grid{grid-template-columns:1fr 1fr!important}
  #sfb-manager-nav-main.sfb-manager-nav{width:min(278px,78vw)!important}
  .sfb-booking-drawer{top:4px!important;right:4px!important;bottom:4px!important;left:auto!important;width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px)!important;border-radius:18px!important}
  .sfb-booking-drawer-body{padding:10px!important}
  .sfb-booking-drawer-body .sfb-manager-edit-grid{grid-template-columns:1fr!important;gap:10px!important}
  .sfb-booking-drawer-body .sfb-booking-payment-editor-head{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .sfb-booking-drawer-body .sfb-booking-payment-form{grid-template-columns:1fr!important}
  .sfb-booking-drawer-body .sfb-booking-payment-form>*,
  .sfb-booking-drawer-body .sfb-manager-booking-footer>*{width:100%!important;max-width:100%!important}
  .sfb-contract-language-field{min-width:0!important;width:100%!important}
  .sfb-tools-contract-language{width:100%!important;min-width:0!important}
  .sfb-manager-calendar-visible-month{font-size:19px!important}
}


/* v0.22.27b — make unified drawer header usable on desktop too */
.sfb-mobile-drawer-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:4px 4px 12px!important;margin-bottom:8px!important;border-bottom:1px solid #ece9e0!important}
.sfb-mobile-drawer-head>div{min-width:0!important}
.sfb-mobile-drawer-head strong{display:block!important;font-size:18px!important;line-height:1.15!important;color:#30382d!important}
.sfb-mobile-drawer-head small{display:block!important;margin-top:3px!important;font-size:10px!important;color:#8b8e84!important}
#sfb-manager-nav-main .sfb-mobile-drawer-close{display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;border-radius:12px!important;background:#f4f5ef!important;color:#657056!important;font-size:24px!important;line-height:1!important}
.sfb-manager-calendar-scroll-head{position:relative!important;z-index:5!important;background:#fff!important;border:1px solid #ece8de!important;border-radius:12px!important;padding:9px 12px!important}


/* v0.22.29 — iPhone booking editor: no viewport zoom/drift, centered fields */
.sfb-booking-drawer,
.sfb-booking-drawer *{
  box-sizing:border-box!important;
}
.sfb-booking-drawer-body{
  overscroll-behavior-x:none!important;
  touch-action:pan-y!important;
}
.sfb-booking-drawer-body .sfb-manager-edit-grid,
.sfb-booking-drawer-body .sfb-booking-payment-form,
.sfb-booking-drawer-body .sfb-manager-booking-footer{
  overflow:visible!important;
}
.sfb-booking-drawer-body input,
.sfb-booking-drawer-body select,
.sfb-booking-drawer-body textarea{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.sfb-booking-drawer-body input[type="date"],
.sfb-booking-drawer-body input[type="time"]{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}

@media(max-width:700px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body.sfb-drawer-open{position:fixed!important;inset:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
  .sfb-booking-drawer{
    left:8px!important;
    right:8px!important;
    top:8px!important;
    bottom:8px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }
  .sfb-booking-drawer-head,
  .sfb-booking-drawer-body{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .sfb-booking-drawer-body{
    padding:12px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .sfb-booking-drawer-body .sfb-manager-booking,
  .sfb-booking-drawer-body .sfb-manager-booking-edit-panel,
  .sfb-booking-drawer-body .sfb-manager-edit-grid,
  .sfb-booking-drawer-body .sfb-booking-payment-editor,
  .sfb-booking-drawer-body .sfb-booking-payment-form,
  .sfb-booking-drawer-body .sfb-manager-booking-footer{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .sfb-booking-drawer-body .sfb-manager-booking-footer{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:14px 0 0!important;
    margin:18px 0 0!important;
    text-align:center!important;
    background:transparent!important;
    border-top:1px solid var(--sfb-line)!important;
  }
  .sfb-booking-drawer-body .sfb-manager-booking-footer>*{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    justify-self:stretch!important;
  }
  .sfb-booking-drawer-body .sfb-manager-booking-footer button,
  .sfb-booking-drawer-body .sfb-manager-booking-footer select{
    text-align:center!important;
  }
  .sfb-booking-drawer-body input,
  .sfb-booking-drawer-body select,
  .sfb-booking-drawer-body textarea,
  .sfb-booking-drawer-body button{
    font-size:16px!important; /* prevents iOS focus zoom */
  }
  .sfb-booking-drawer-body input[type="date"],
  .sfb-booking-drawer-body input[type="time"]{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:54px!important;
    padding:0 14px!important;
    text-align:center!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .sfb-booking-drawer-body input[type="date"]::-webkit-date-and-time-value,
  .sfb-booking-drawer-body input[type="time"]::-webkit-date-and-time-value{
    text-align:center!important;
    margin:0!important;
    width:100%!important;
  }
  .sfb-booking-drawer-body .sfb-contract-language-field{
    align-items:stretch!important;
    text-align:left!important;
  }
}


/* v0.22.59 — invisible contact-form honeypot */
.sfb-contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}


/* v0.22.60 — polished public contact form */
.sfb-contact-form{
  width:100%;
  margin:0;
  color:#2f332b;
}
.sfb-contact-form .sfb-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px 24px;
  width:100%;
}
.sfb-contact-form .sfb-contact-field{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  min-width:0;
  font-size:16px;
  line-height:1.25;
  color:#34372f;
}
.sfb-contact-form .sfb-contact-field>span{
  display:block;
  font-weight:500;
}
.sfb-contact-form .sfb-contact-phone,
.sfb-contact-form .sfb-contact-message,
.sfb-contact-form .sfb-contact-math{
  grid-column:1/-1;
}
.sfb-contact-form input[type="text"],
.sfb-contact-form input[type="email"],
.sfb-contact-form input[type="tel"]{
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 18px!important;
  border:1px solid #d7d2c7!important;
  border-radius:16px!important;
  background:#fff!important;
  font:inherit!important;
  color:#2f332b!important;
}
.sfb-contact-form .sfb-contact-math input[type="number"]{
  width:110px!important;
  height:48px!important;
  padding:0 14px!important;
  border:1px solid #d7d2c7!important;
  border-radius:8px!important;
  background:#fff!important;
  font:inherit!important;
  color:#2f332b!important;
}
.sfb-contact-form textarea{
  width:100%!important;
  min-height:170px!important;
  padding:16px 18px!important;
  border:1px solid #d7d2c7!important;
  border-radius:16px!important;
  background:#fff!important;
  font:inherit!important;
  color:#2f332b!important;
  resize:vertical;
}
.sfb-contact-form input:focus,
.sfb-contact-form textarea:focus{
  border-color:#66744b!important;
  box-shadow:0 0 0 3px rgba(102,116,75,.10)!important;
  outline:none!important;
}
.sfb-contact-form .sfb-contact-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:22px;
}
.sfb-contact-form .sfb-contact-actions button{
  appearance:none;
  border:0!important;
  border-radius:999px!important;
  background:#617143!important;
  color:#fff!important;
  min-height:52px;
  padding:13px 26px!important;
  font:inherit!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer;
  box-shadow:none!important;
}
.sfb-contact-form .sfb-contact-actions button:hover{
  background:#4f5e37!important;
}
.sfb-contact-form .sfb-ajax-message{
  flex:1 1 180px;
  min-height:0;
  font-size:14px;
}
@media(max-width:700px){
  .sfb-contact-form .sfb-contact-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .sfb-contact-form .sfb-contact-name,
  .sfb-contact-form .sfb-contact-email,
  .sfb-contact-form .sfb-contact-phone,
  .sfb-contact-form .sfb-contact-message{
    grid-column:1;
  }
  .sfb-contact-form input[type="text"],
  .sfb-contact-form input[type="email"],
  .sfb-contact-form input[type="tel"],
  .sfb-contact-form textarea,
  .sfb-contact-form .sfb-contact-actions button{
    font-size:16px!important;
  }
  .sfb-contact-form .sfb-contact-actions{
    align-items:stretch;
  }
  .sfb-contact-form .sfb-contact-actions button{
    width:100%;
  }
}


/* v0.22.61 – phone calendar feeds */
.sfb-phone-calendar-body{padding:18px;display:grid;gap:12px}
.sfb-phone-feed-card{border:1px solid #e3ded4;border-radius:16px;padding:16px;background:#fff;display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:18px;align-items:center}
.sfb-phone-feed-card.is-all{background:#f7f8f2;border-color:#d7ddc9}
.sfb-phone-feed-card strong{display:block;color:#30372c;font-size:16px;margin-bottom:4px}
.sfb-phone-feed-card small{display:block;color:#7e8177;line-height:1.35}
.sfb-phone-feed-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.sfb-phone-feed-actions input{width:100%;min-width:0;height:44px;border:1px solid #ded8cd;border-radius:12px;padding:0 12px;background:#fff;font-size:13px}
.sfb-phone-feed-actions button,.sfb-phone-feed-actions a,.sfb-property-hub-feed-copy{min-height:44px;border-radius:12px;padding:0 15px;border:1px solid #607546;background:#607546;color:#fff!important;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer}
.sfb-phone-feed-actions a{background:#f4f6ed;color:#53673d!important}
.sfb-phone-feed-note{margin:4px 2px 0;color:#77796f;font-size:13px}
.sfb-property-hub-feed-copy{width:100%;margin:8px 0 2px}
@media(max-width:700px){
  .sfb-phone-calendar-body{padding:12px}
  .sfb-phone-feed-card{grid-template-columns:1fr;gap:10px;padding:14px}
  .sfb-phone-feed-actions{grid-template-columns:1fr 1fr}
  .sfb-phone-feed-actions input{grid-column:1/-1;font-size:12px}
  .sfb-phone-feed-actions button,.sfb-phone-feed-actions a{width:100%;padding:0 10px}
}


/* v0.22.62 – cleaner booking footer + consistent 24h time fields */
.sfb-booking-drawer-body .sfb-time-24{
    font-variant-numeric:tabular-nums;
    letter-spacing:.02em;
}
.sfb-booking-drawer-body .sfb-manager-booking-footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
}
.sfb-booking-footer-save{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
}
.sfb-booking-footer-save .sfb-manager-save{
    width:100%!important;
    min-height:52px;
}
.sfb-booking-footer-save .sfb-manager-save-message{
    min-width:58px;
    font-weight:700;
}
.sfb-booking-contract-box{
    display:grid;
    grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto;
    gap:12px;
    align-items:end;
    padding:15px;
    border:1px solid #e2ddd2;
    border-radius:16px;
    background:#f8f7f2;
}
.sfb-booking-contract-copy strong{
    display:block;
    color:#30372c;
    font-size:15px;
    margin-bottom:3px;
}
.sfb-booking-contract-copy small{
    display:block;
    color:#818279;
    line-height:1.35;
}
.sfb-contract-language-field{
    display:grid!important;
    gap:5px!important;
    min-width:0;
}
.sfb-contract-language-field>span{
    font-size:11px!important;
    font-weight:700!important;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#74776d;
}
.sfb-contract-language-field select{
    width:100%!important;
    min-height:46px!important;
}
.sfb-booking-contract-box .sfb-tools-manager-send-contract{
    min-height:46px!important;
    padding:0 18px!important;
    border:1px solid #607546!important;
    border-radius:12px!important;
    background:#607546!important;
    color:#fff!important;
    font-weight:700!important;
    white-space:nowrap;
}
.sfb-manager-booking-footer>.sfb-tools-manager-delete-booking{
    justify-self:start;
    min-height:42px;
    padding:0 14px!important;
    background:transparent!important;
    border:1px solid #c86b5d!important;
    color:#a34b40!important;
    border-radius:11px!important;
}

@media(max-width:700px){
    .sfb-booking-footer-save{
        grid-template-columns:1fr;
    }
    .sfb-booking-footer-save .sfb-manager-save-message{
        min-width:0;
    }
    .sfb-booking-contract-box{
        grid-template-columns:1fr!important;
        gap:10px!important;
        padding:13px!important;
    }
    .sfb-booking-contract-box .sfb-tools-manager-send-contract{
        width:100%!important;
    }
    .sfb-manager-booking-footer>.sfb-tools-manager-delete-booking{
        width:100%!important;
        justify-self:stretch;
    }
}


/* v0.22.63 – booking editor consistency */
.sfb-booking-drawer-body .sfb-manager-edit-grid > label{
    display:grid!important;
    gap:6px!important;
    align-content:start!important;
}
.sfb-booking-drawer-body .sfb-manager-edit-grid > label > span{
    display:block!important;
    min-height:18px!important;
    font-size:13px!important;
    font-weight:700!important;
    color:#4e514a!important;
}
.sfb-booking-drawer-body .sfb-manager-edit-grid input:not([type="checkbox"]),
.sfb-booking-drawer-body .sfb-manager-edit-grid select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 14px!important;
    border:1px solid #d9d3c8!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#262b24!important;
    font-size:16px!important;
    line-height:1.2!important;
    box-shadow:none!important;
}
.sfb-booking-drawer-body .sfb-manager-edit-grid select{
    appearance:auto!important;
    -webkit-appearance:menulist!important;
}
.sfb-booking-drawer-body .sfb-manager-edit-grid textarea{
    width:100%!important;
    min-width:0!important;
    min-height:112px!important;
    padding:14px!important;
    border:1px solid #d9d3c8!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#262b24!important;
    font-size:15px!important;
    line-height:1.45!important;
    box-shadow:none!important;
}
.sfb-booking-drawer-body .sfb-manager-price-field small{
    margin-top:5px!important;
    color:#85877e!important;
    font-size:11px!important;
}

/* payment history: keep source/note/delete from colliding */
.sfb-booking-drawer-body .sfb-booking-payment-history{
    margin-top:14px!important;
    padding-top:12px!important;
}
.sfb-booking-drawer-body .sfb-booking-payment-history>small{
    margin-bottom:8px!important;
    font-size:12px!important;
    color:#686b63!important;
}
.sfb-booking-drawer-body .sfb-booking-payment-history-row{
    display:grid!important;
    grid-template-columns:82px 100px minmax(120px,.8fr) minmax(160px,1.4fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    padding:9px 0!important;
    border-bottom:1px solid #ebe6dd!important;
    font-size:12px!important;
}
.sfb-booking-drawer-body .sfb-booking-payment-history-row:last-child{
    border-bottom:0!important;
}
.sfb-booking-drawer-body .sfb-booking-payment-history-row span,
.sfb-booking-drawer-body .sfb-booking-payment-history-row strong,
.sfb-booking-drawer-body .sfb-booking-payment-history-row em{
    min-width:0!important;
    overflow-wrap:anywhere!important;
}
.sfb-booking-drawer-body .sfb-booking-payment-history-row em{
    font-style:normal!important;
    color:#777a72!important;
    line-height:1.3!important;
}
.sfb-booking-drawer-body .sfb-booking-delete-payment{
    min-height:34px!important;
    padding:0 11px!important;
    border:1px solid #c98a80!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#a34d42!important;
    font-size:12px!important;
    font-weight:700!important;
    white-space:nowrap!important;
}

/* contract area: prevent send button from being squeezed or clipped */
.sfb-booking-drawer-body .sfb-booking-contract-box{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px 12px!important;
    align-items:end!important;
    padding:15px!important;
    overflow:hidden!important;
}
.sfb-booking-drawer-body .sfb-booking-contract-copy{
    grid-column:1/-1!important;
}
.sfb-booking-drawer-body .sfb-contract-language-field{
    min-width:0!important;
}
.sfb-booking-drawer-body .sfb-contract-language-field select{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    border-radius:12px!important;
    border:1px solid #d9d3c8!important;
    background:#fff!important;
    padding:0 12px!important;
    font-size:15px!important;
}
.sfb-booking-drawer-body .sfb-booking-contract-box .sfb-tools-manager-send-contract{
    min-width:148px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 18px!important;
    justify-self:end!important;
    overflow:visible!important;
}
.sfb-booking-drawer-body .sfb-manager-booking-footer{
    overflow:visible!important;
}

@media(max-width:700px){
    .sfb-booking-drawer-body .sfb-booking-payment-history-row{
        grid-template-columns:1fr auto!important;
        gap:5px 10px!important;
        padding:11px 0!important;
    }
    .sfb-booking-drawer-body .sfb-booking-payment-history-row span,
    .sfb-booking-drawer-body .sfb-booking-payment-history-row strong,
    .sfb-booking-drawer-body .sfb-booking-payment-history-row em{
        grid-column:1!important;
    }
    .sfb-booking-drawer-body .sfb-booking-delete-payment{
        grid-column:2!important;
        grid-row:1 / span 4!important;
        align-self:center!important;
    }
    .sfb-booking-drawer-body .sfb-booking-contract-box{
        grid-template-columns:1fr!important;
    }
    .sfb-booking-drawer-body .sfb-booking-contract-copy,
    .sfb-booking-drawer-body .sfb-contract-language-field,
    .sfb-booking-drawer-body .sfb-booking-contract-box .sfb-tools-manager-send-contract{
        grid-column:1!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        justify-self:stretch!important;
    }
}


/* v0.22.64 – babyseng / babystol as proper option cards */
.sfb-booking-drawer-body .sfb-manager-option-card{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid #d9d3c8!important;
    border-radius:14px!important;
    background:#fff!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
}
.sfb-booking-drawer-body .sfb-manager-option-card > input[type="checkbox"]{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
}
.sfb-booking-drawer-body .sfb-manager-option-card > span:last-child{
    min-height:0!important;
    font-size:16px!important;
    font-weight:600!important;
    color:#30372c!important;
    line-height:1.2!important;
}
.sfb-booking-drawer-body .sfb-option-check{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    border:1.5px solid #a9aa9f!important;
    border-radius:6px!important;
    background:#fff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
}
.sfb-booking-drawer-body .sfb-manager-option-card > input[type="checkbox"]:checked + .sfb-option-check{
    background:#607546!important;
    border-color:#607546!important;
}
.sfb-booking-drawer-body .sfb-manager-option-card > input[type="checkbox"]:checked + .sfb-option-check::after{
    content:"✓";
    color:#fff;
    font-size:15px;
    font-weight:800;
    line-height:1;
}
.sfb-booking-drawer-body .sfb-manager-option-card:has(input:checked){
    background:#f5f7f0!important;
    border-color:#aebc9a!important;
}
@media(max-width:700px){
    .sfb-booking-drawer-body .sfb-manager-option-card{
        min-height:54px!important;
        padding:0 14px!important;
    }
}


/* v0.22.65 – fast landing dashboard */
.sfb-fast-overview{max-width:1280px!important}
.sfb-fast-topbar{margin-bottom:22px}
.sfb-fast-hero{
    display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
    padding:26px 28px;margin-bottom:16px;border:1px solid #e2ded4;border-radius:22px;background:#fff
}
.sfb-fast-hero h2{margin:5px 0 5px;font-size:34px;line-height:1.08;color:#30372c}
.sfb-fast-hero p{margin:0;color:#85877d}
.sfb-fast-primary-actions{display:flex;gap:9px;flex-wrap:wrap}
.sfb-fast-primary-actions a,.sfb-fast-more-actions a{
    display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;
    border:1px solid #d9d5ca;border-radius:999px;background:#fff;color:#46513b!important;text-decoration:none;font-weight:700
}
.sfb-fast-primary-actions a.is-primary{background:#607546;border-color:#607546;color:#fff!important}
.sfb-fast-pending{
    display:flex;justify-content:space-between;gap:20px;align-items:center;
    margin:0 0 16px;padding:14px 18px;border-radius:15px;background:#fff7e7;border:1px solid #ead8b0;
    color:#5b4c2c!important;text-decoration:none
}
.sfb-fast-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sfb-fast-property-card{padding:18px;border:1px solid #e2ded4;border-radius:22px;background:#fff;box-shadow:0 8px 30px rgba(50,55,44,.035)}
.sfb-fast-property-head{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.sfb-fast-property-head h3{margin:3px 0 0;font-size:22px;color:#30372c}
.sfb-fast-property-thumb{width:68px;height:54px;flex:0 0 68px;border-radius:12px;background:#eef0e9 center/cover no-repeat}
.sfb-fast-stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sfb-fast-stay{min-width:0;padding:14px;border:1px solid #e8e4dc;border-radius:15px;background:#faf9f5}
.sfb-fast-stay.is-current.has-booking{background:#f4f7ef;border-color:#d6dfc9}
.sfb-fast-stay-label{display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;color:#85897e}
.sfb-fast-stay strong{display:block;margin-bottom:4px;font-size:16px;color:#30372c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfb-fast-stay strong.sfb-fast-free{color:#607546}
.sfb-fast-stay small,.sfb-fast-stay span:not(.sfb-fast-stay-label){display:block;color:#777b71;font-size:12px;line-height:1.35}
.sfb-fast-stay a{display:inline-block;margin-top:10px;color:#607546!important;text-decoration:none;font-weight:800;font-size:13px}
.sfb-fast-more-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding:16px 0 4px}
.sfb-fast-more-actions a{background:#f7f7f2}

/* Remove the awkward 'Eller gå til måned' row from old calendar widgets. */
.sfb-scroll-calendar-jump-row{display:none!important}

/* Actual booking-editor baby controls */
.sfb-booking-drawer-body .sfb-manager-extra-field.sfb-manager-option-card{
    position:relative!important;display:flex!important;align-items:center!important;gap:12px!important;
    min-height:54px!important;padding:0 14px!important;border:1px solid #d9d3c8!important;
    border-radius:14px!important;background:#fff!important;cursor:pointer!important
}
.sfb-booking-drawer-body .sfb-manager-extra-field.sfb-manager-option-card input[type="checkbox"]{
    position:absolute!important;opacity:0!important;pointer-events:none!important
}
.sfb-booking-drawer-body .sfb-manager-extra-field.sfb-manager-option-card .sfb-option-check{
    width:22px!important;height:22px!important;min-width:22px!important;border:1.5px solid #aaa99f!important;
    border-radius:6px!important;background:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important
}
.sfb-booking-drawer-body .sfb-manager-extra-field.sfb-manager-option-card > span:last-child{
    min-height:0!important;font-size:15px!important;font-weight:700!important;color:#30372c!important
}
.sfb-booking-drawer-body .sfb-manager-extra-field.sfb-manager-option-card input:checked + .sfb-option-check{
    background:#607546!important;border-color:#607546!important
}
.sfb-booking-drawer-body .sfb-manager-extra-field.sfb-manager-option-card input:checked + .sfb-option-check:after{
    content:"✓";color:#fff;font-weight:800;font-size:14px
}

@media(max-width:760px){
    .sfb-fast-hero{align-items:stretch;flex-direction:column;padding:20px}
    .sfb-fast-hero h2{font-size:29px}
    .sfb-fast-primary-actions{display:grid;grid-template-columns:1fr 1fr}
    .sfb-fast-property-grid{grid-template-columns:1fr}
    .sfb-fast-stay-grid{grid-template-columns:1fr}
}


/* v0.22.66 – persistent top menu / section links */
.sfb-manager-nav a{
    box-sizing:border-box;
    width:100%;
    min-height:42px;
    padding:10px 12px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#384031!important;
    font:inherit;
    font-weight:700;
    text-align:left;
    text-decoration:none!important;
    display:flex;
    align-items:center;
}
.sfb-manager-nav a:hover{background:#f3f5ed}
.sfb-manager-nav a.is-active{background:#eef2e7;color:#53683d!important}
.sfb-manager-nav a.is-primary{margin-top:5px;background:#607546;color:#fff!important}
.sfb-fast-overview .sfb-fast-hero{margin-bottom:18px}
.sfb-fast-overview .sfb-fast-more-actions{display:none!important}

/* The lightweight overview is the actual dashboard, not a splash page. */
.sfb-fast-overview .sfb-fast-property-grid{margin-bottom:18px}


/* v0.22.67 – property settings redesign */
.sfb-manager-property-settings .sfb-manager-create-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    padding:20px!important;
}
.sfb-manager-property-settings .sfb-manager-create-grid > label,
.sfb-manager-property-settings .sfb-property-time-stack > label{
    display:grid!important;
    gap:7px!important;
    min-width:0!important;
}
.sfb-manager-property-settings .sfb-manager-create-grid > label > span,
.sfb-manager-property-settings .sfb-property-time-stack label > span,
.sfb-manager-property-settings .sfb-property-image-label{
    font-size:12px!important;
    font-weight:800!important;
    color:#4b5146!important;
    letter-spacing:.01em!important;
}
.sfb-manager-property-settings .sfb-manager-create-grid input:not([type="checkbox"]):not([type="file"]),
.sfb-manager-property-settings .sfb-manager-create-grid select,
.sfb-manager-property-settings .sfb-property-time-stack input{
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 15px!important;
    border:1px solid #d9d3c8!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#2d332b!important;
    font-size:16px!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
}
.sfb-manager-property-settings .sfb-property-time-stack{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:16px!important;
    grid-column:1/-1!important;
}
.sfb-manager-property-settings .sfb-property-default-cleaning{
    grid-column:1/-1!important;
}
.sfb-manager-property-settings .sfb-property-default-cleaning select{
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 15px!important;
    border:1px solid #d9d3c8!important;
    border-radius:14px!important;
    background:#fff!important;
    font-size:16px!important;
    color:#2d332b!important;
}
.sfb-manager-property-settings .sfb-property-default-cleaning small{
    display:block!important;
    margin-top:6px!important;
    color:#7f8279!important;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:500!important;
}
.sfb-manager-property-settings .sfb-time-24{
    font-variant-numeric:tabular-nums!important;
    letter-spacing:.02em!important;
}

/* image field as one coherent card */
.sfb-manager-property-settings .sfb-property-image-manager{
    grid-column:1/-1!important;
    padding:16px!important;
    border:1px solid #e0dcd2!important;
    border-radius:16px!important;
    background:#faf9f5!important;
}
.sfb-manager-property-settings .sfb-property-image-row{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr)!important;
    gap:14px 16px!important;
    align-items:center!important;
}
.sfb-manager-property-settings .sfb-property-image-preview,
.sfb-manager-property-settings .sfb-property-image-placeholder{
    grid-row:1 / span 2!important;
    width:120px!important;
    height:82px!important;
    border-radius:12px!important;
    object-fit:cover!important;
}
.sfb-manager-property-settings .sfb-property-image-upload{
    justify-self:start!important;
    min-height:42px!important;
    padding:0 15px!important;
    border:1px solid #cfd4c5!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#55653f!important;
    font-size:13px!important;
    font-weight:800!important;
}
.sfb-manager-property-settings .sfb-property-image-remove{
    justify-self:start!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    min-height:34px!important;
    margin:0!important;
    color:#9a554b!important;
    font-size:12px!important;
    font-weight:700!important;
}
.sfb-manager-property-settings .sfb-property-image-remove input{
    width:18px!important;
    height:18px!important;
    margin:0!important;
}
.sfb-manager-property-settings .sfb-property-image-manager>small{
    margin-top:10px!important;
    color:#85877d!important;
    font-size:12px!important;
}

/* lower option area */
.sfb-manager-property-settings .sfb-own-property-check,
.sfb-manager-property-settings .sfb-manager-create-check{
    grid-column:1/-1!important;
    padding:14px 15px!important;
    border:1px solid #e2ded4!important;
    border-radius:14px!important;
    background:#f8f8f3!important;
}
.sfb-manager-property-settings .sfb-own-property-check span,
.sfb-manager-property-settings .sfb-manager-create-check span{
    min-height:0!important;
    font-size:14px!important;
    font-weight:700!important;
}
.sfb-manager-property-settings .sfb-property-save-button{
    min-height:46px!important;
    padding:0 20px!important;
    border:0!important;
    border-radius:12px!important;
    background:#607546!important;
    color:#fff!important;
    font-weight:800!important;
}

@media(max-width:700px){
    .sfb-manager-property-settings .sfb-manager-create-grid{
        grid-template-columns:1fr!important;
        padding:14px!important;
    }
    .sfb-manager-property-settings .sfb-property-time-stack{
        grid-template-columns:1fr!important;
    }
    .sfb-manager-property-settings .sfb-property-image-row{
        grid-template-columns:92px minmax(0,1fr)!important;
    }
    .sfb-manager-property-settings .sfb-property-image-preview,
    .sfb-manager-property-settings .sfb-property-image-placeholder{
        width:92px!important;
        height:68px!important;
    }
}


/* same-element compatibility for the property settings form */
.sfb-manager-create-grid.sfb-manager-property-settings{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    padding:20px!important;
}
.sfb-manager-create-grid.sfb-manager-property-settings > label{
    display:grid!important;
    gap:7px!important;
    min-width:0!important;
}
.sfb-manager-create-grid.sfb-manager-property-settings > label > span{
    font-size:12px!important;
    font-weight:800!important;
    color:#4b5146!important;
}
.sfb-manager-create-grid.sfb-manager-property-settings input:not([type="checkbox"]):not([type="file"]),
.sfb-manager-create-grid.sfb-manager-property-settings select{
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 15px!important;
    border:1px solid #d9d3c8!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#2d332b!important;
    font-size:16px!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
}
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-time-stack{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:16px!important;
    grid-column:1/-1!important;
}
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-default-cleaning{
    grid-column:1/-1!important;
}
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-image-manager{
    grid-column:1/-1!important;
}
@media(max-width:700px){
    .sfb-manager-create-grid.sfb-manager-property-settings{
        grid-template-columns:1fr!important;
        padding:14px!important;
    }
    .sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-time-stack{
        grid-template-columns:1fr!important;
    }
}


/* v0.22.68 – the fast overview menu is a drawer only, never an inline second menu */
.sfb-fast-overview #sfb-manager-nav-main.sfb-fast-nav{
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    bottom:18px!important;
    left:auto!important;
    width:min(300px,84vw)!important;
    height:auto!important;
    z-index:99999!important;
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    padding:14px!important;
    border:1px solid #dde0d5!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 20px 60px rgba(35,42,31,.18)!important;
    transform:translateX(calc(100% + 40px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}
.sfb-fast-overview #sfb-manager-nav-main.sfb-fast-nav.is-mobile-open{
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}
.sfb-fast-overview #sfb-manager-nav-main.sfb-fast-nav > a{
    flex:0 0 auto!important;
}
.sfb-fast-overview #sfb-manager-nav-main.sfb-fast-nav .sfb-mobile-drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin-bottom:8px!important;
}


/* v0.22.69 – final cleanup of booking editor */
.sfb-booking-drawer-body .sfb-manager-edit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:start!important;
}
.sfb-booking-drawer-body .sfb-booking-full-row,
.sfb-booking-drawer-body .sfb-manager-note-field{
    grid-column:1/-1!important;
}

/* Baby options live in one clean row instead of floating as two odd labels. */
.sfb-booking-drawer-body .sfb-baby-options{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
}
.sfb-booking-drawer-body .sfb-baby-option{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:11px!important;
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 15px!important;
    margin:0!important;
    border:1px solid #d9d3c8!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#30372c!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
}
.sfb-booking-drawer-body .sfb-baby-option > input[type="checkbox"]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}
.sfb-booking-drawer-body .sfb-baby-option > span{
    display:inline-flex!important;
    min-height:0!important;
    margin:0!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1!important;
}
.sfb-booking-drawer-body .sfb-baby-check{
    flex:0 0 22px!important;
    width:22px!important;
    height:22px!important;
    border:1.5px solid #aaa99f!important;
    border-radius:6px!important;
    background:#fff!important;
    align-items:center!important;
    justify-content:center!important;
}
.sfb-booking-drawer-body .sfb-baby-option input:checked + .sfb-baby-check{
    background:#607546!important;
    border-color:#607546!important;
}
.sfb-booking-drawer-body .sfb-baby-option input:checked + .sfb-baby-check::after{
    content:"✓"!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1!important;
}
.sfb-booking-drawer-body .sfb-baby-option:has(input:checked){
    background:#f4f7ef!important;
    border-color:#aebc9a!important;
}

/* Booking type / provision / cleaning are now real full-size fields. */
.sfb-booking-drawer-body .sfb-booking-type-field select,
.sfb-booking-drawer-body .sfb-booking-cleaning-field select,
.sfb-booking-drawer-body .sfb-booking-commission-field input{
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    border-radius:14px!important;
    border:1px solid #d9d3c8!important;
    background:#fff!important;
    padding:0 14px!important;
    font-size:16px!important;
    color:#262b24!important;
}

/* The save/contract area must never cover form fields. */
.sfb-booking-drawer-body .sfb-manager-booking-footer{
    position:static!important;
    bottom:auto!important;
    margin:20px 0 0!important;
    padding:18px 0 0!important;
    border-top:1px solid #e5e0d7!important;
    background:transparent!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
    width:100%!important;
    overflow:visible!important;
}
.sfb-booking-drawer-body .sfb-booking-footer-save{
    display:block!important;
    width:100%!important;
}
.sfb-booking-drawer-body .sfb-booking-footer-save .sfb-manager-save{
    width:100%!important;
    min-height:52px!important;
    border-radius:14px!important;
}
.sfb-booking-drawer-body .sfb-booking-footer-save .sfb-manager-save-message{
    display:block!important;
    min-width:0!important;
    margin-top:6px!important;
    text-align:center!important;
}
.sfb-booking-drawer-body .sfb-booking-contract-box{
    margin-top:12px!important;
    padding:16px!important;
    border-radius:16px!important;
    grid-template-columns:minmax(0,1fr) minmax(170px,.8fr) 160px!important;
    overflow:visible!important;
}
.sfb-booking-drawer-body .sfb-booking-contract-copy{
    grid-column:auto!important;
    align-self:center!important;
}
.sfb-booking-drawer-body .sfb-booking-contract-box .sfb-tools-manager-send-contract{
    width:160px!important;
    min-width:160px!important;
    height:48px!important;
    justify-self:stretch!important;
}
.sfb-booking-drawer-body .sfb-manager-booking-footer>.sfb-tools-manager-delete-booking{
    margin-top:10px!important;
}

/* Payment history: force a clean row with the delete button at the far right. */
.sfb-booking-drawer-body .sfb-booking-payment-history-row{
    grid-template-columns:90px 105px minmax(110px,.75fr) minmax(180px,1.5fr) 64px!important;
    gap:10px!important;
    align-items:center!important;
}
.sfb-booking-drawer-body .sfb-booking-delete-payment{
    width:64px!important;
    justify-self:end!important;
}

@media(max-width:700px){
    .sfb-booking-drawer-body .sfb-manager-edit-grid{
        grid-template-columns:1fr!important;
    }
    .sfb-booking-drawer-body .sfb-baby-options{
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }
    .sfb-booking-drawer-body .sfb-baby-option{
        padding:0 12px!important;
        font-size:14px!important;
    }
    .sfb-booking-drawer-body .sfb-booking-contract-box{
        grid-template-columns:1fr!important;
    }
    .sfb-booking-drawer-body .sfb-booking-contract-copy,
    .sfb-booking-drawer-body .sfb-contract-language-field,
    .sfb-booking-drawer-body .sfb-booking-contract-box .sfb-tools-manager-send-contract{
        grid-column:1!important;
        width:100%!important;
        min-width:0!important;
    }
    .sfb-booking-drawer-body .sfb-booking-payment-history-row{
        grid-template-columns:1fr auto!important;
    }
}


/* v0.22.70 – Mima: simple home + menu + bookings + finance */
.sfb-cleaning-portal .sfb-cleaning-menu{position:relative}
.sfb-cleaning-portal .sfb-cleaning-menu summary{
    list-style:none;cursor:pointer;width:46px;height:46px;border:1px solid #d9ddd1;border-radius:13px;
    display:flex;align-items:center;justify-content:center;background:#fff;color:#46523b;font-size:22px;font-weight:700
}
.sfb-cleaning-portal .sfb-cleaning-menu summary::-webkit-details-marker{display:none}
.sfb-cleaning-portal .sfb-cleaning-menu nav{
    position:absolute;right:0;top:54px;z-index:80;width:220px;padding:8px;border:1px solid #dde0d5;
    border-radius:15px;background:#fff;box-shadow:0 18px 42px rgba(35,42,31,.16)
}
.sfb-cleaning-portal .sfb-cleaning-menu nav a{
    display:flex;min-height:42px;align-items:center;padding:0 12px;border-radius:10px;
    color:#3d4637;text-decoration:none;font-weight:700
}
.sfb-cleaning-portal .sfb-cleaning-menu nav a.is-active{background:#eef2e7;color:#587042}
.sfb-cleaning-portal .sfb-cleaning-menu nav a.is-logout{margin-top:5px;border-top:1px solid #eee;border-radius:0;padding-top:7px;color:#8a5048}

.sfb-cleaning-section-overview > .sfb-next-cleanings,
.sfb-cleaning-section-overview > .sfb-cleaning-recent-completed,
.sfb-cleaning-section-overview > .sfb-tools-mima-card,
.sfb-cleaning-section-overview > .sfb-cleaning-balance,
.sfb-cleaning-section-overview > .sfb-cleaning-section-heading,
.sfb-cleaning-section-overview > .sfb-cleaning-board-wrap,
.sfb-cleaning-section-overview > .sfb-cleaning-legend,
.sfb-cleaning-section-overview > .sfb-cleaning-task-list,
.sfb-cleaning-section-overview > .sfb-cleaning-property-list,
.sfb-cleaning-section-bookings > .sfb-next-cleanings,
.sfb-cleaning-section-bookings > .sfb-cleaning-recent-completed,
.sfb-cleaning-section-bookings > .sfb-tools-mima-card,
.sfb-cleaning-section-bookings > .sfb-cleaning-balance,
.sfb-cleaning-section-bookings > .sfb-cleaning-section-heading,
.sfb-cleaning-section-bookings > .sfb-cleaning-board-wrap,
.sfb-cleaning-section-bookings > .sfb-cleaning-legend,
.sfb-cleaning-section-bookings > .sfb-cleaning-task-list,
.sfb-cleaning-section-bookings > .sfb-cleaning-property-list,
.sfb-cleaning-section-economy > .sfb-next-cleanings,
.sfb-cleaning-section-economy > .sfb-cleaning-recent-completed,
.sfb-cleaning-section-economy > .sfb-tools-mima-card,
.sfb-cleaning-section-economy > .sfb-cleaning-balance,
.sfb-cleaning-section-economy > .sfb-cleaning-section-heading,
.sfb-cleaning-section-economy > .sfb-cleaning-board-wrap,
.sfb-cleaning-section-economy > .sfb-cleaning-legend,
.sfb-cleaning-section-economy > .sfb-cleaning-task-list,
.sfb-cleaning-section-economy > .sfb-cleaning-property-list{display:none!important}

.sfb-mima-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.sfb-mima-property-next-card{padding:17px;border:1px solid #e1ddd3;border-radius:18px;background:#fff}
.sfb-mima-property-next-head span{display:block;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#7a8968}
.sfb-mima-property-next-head h3{margin:3px 0 13px;font-size:20px;color:#30372c}
.sfb-mima-next-main{padding:13px;border-radius:13px;background:#f6f7f1}
.sfb-mima-next-main strong{display:block;margin-bottom:5px;font-size:16px;color:#30372c}
.sfb-mima-next-main span{display:block;margin-top:3px;color:#6e7368;font-size:13px}
.sfb-mima-next-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.sfb-mima-next-meta span{padding:5px 8px;border-radius:999px;background:#eef2e8;color:#566743;font-size:12px;font-weight:700}
.sfb-mima-no-next{padding:18px 13px;border-radius:13px;background:#f7f7f4;color:#7b7f75}

.sfb-mima-all-bookings{display:grid;gap:14px;margin-top:18px}
.sfb-mima-booking-property{padding:17px;border:1px solid #e1ddd3;border-radius:18px;background:#fff}
.sfb-mima-booking-property-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.sfb-mima-booking-property-head h3{margin:0;color:#30372c}
.sfb-mima-booking-property-head>span{min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#eef2e8;display:flex;align-items:center;justify-content:center;color:#587042;font-weight:800}
.sfb-mima-simple-booking{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #ece8df}
.sfb-mima-simple-booking:first-child{border-top:0}
.sfb-mima-simple-booking strong,.sfb-mima-simple-booking span,.sfb-mima-simple-booking small{display:block}
.sfb-mima-simple-booking>div:first-child>strong{font-size:15px;color:#30372c}
.sfb-mima-simple-booking>div:first-child>span{margin-top:3px;color:#6f746a}
.sfb-mima-simple-booking>div:first-child>small{margin-top:3px;color:#92958d}
.sfb-mima-simple-booking-tags{display:flex;gap:6px;align-items:center;white-space:nowrap}
.sfb-mima-simple-booking-tags>*{padding:5px 7px;border-radius:9px;background:#f3f5ee;color:#53653f}

.sfb-mima-economy{margin-top:18px}
.sfb-mima-economy-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.sfb-mima-economy-summary>div{padding:16px;border:1px solid #e1ddd3;border-radius:17px;background:#fff}
.sfb-mima-economy-summary span,.sfb-mima-economy-summary small{display:block;color:#7c8076}
.sfb-mima-economy-summary strong{display:block;margin:5px 0;font-size:27px;color:#30372c}
.sfb-mima-economy-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sfb-mima-economy-columns>article{padding:16px;border:1px solid #e1ddd3;border-radius:18px;background:#fff}
.sfb-mima-economy-columns h3{margin:0 0 9px;color:#30372c}
.sfb-mima-money-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #ece8df}
.sfb-mima-money-row:first-of-type{border-top:0}
.sfb-mima-money-row div>strong,.sfb-mima-money-row div>span{display:block}
.sfb-mima-money-row div>span{margin-top:3px;color:#858980;font-size:12px}
.sfb-mima-money-row>strong{white-space:nowrap;color:#9a5a43}
.sfb-mima-money-row.is-paid>strong{color:#5e7748}

@media(max-width:700px){
    .sfb-mima-overview-grid,.sfb-mima-economy-summary,.sfb-mima-economy-columns{grid-template-columns:1fr}
    .sfb-cleaning-portal .sfb-cleaning-menu nav{position:fixed;top:78px;right:14px;left:14px;width:auto}
    .sfb-mima-simple-booking{align-items:flex-start}
}


/* v0.22.72 – manager reply chat on fast overview */
.sfb-fast-messages{
    margin:0 0 16px;
}
.sfb-fast-messages .sfb-cleaning-messages{
    border:1px solid #e1ddd3;
    border-radius:18px;
    background:#fff;
    overflow:hidden;
}
.sfb-fast-messages .sfb-cleaning-messages-head{
    min-height:64px;
    padding:13px 16px;
}
.sfb-fast-messages .sfb-cleaning-messages-head h3{
    margin:0;
    font-size:17px;
}
.sfb-fast-messages .sfb-cleaning-messages-head p{
    margin:3px 0 0;
    font-size:12px;
}
.sfb-fast-messages .sfb-cleaning-message-list{
    max-height:320px;
    overflow:auto;
}
.sfb-fast-messages .sfb-cleaning-message-form{
    padding:14px;
}
.sfb-fast-messages .sfb-cleaning-message-form textarea{
    min-height:90px;
}

/* Mima: compact outstanding-payment reminder on home */
.sfb-mima-unpaid-strip{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    margin:14px 0 2px;
    padding:13px 15px;
    border:1px solid #eadcc4;
    border-radius:15px;
    background:#fff9ed;
    color:#4d4739!important;
    text-decoration:none!important;
}
.sfb-mima-unpaid-strip>div:first-child span{
    display:block;
    margin-bottom:2px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:#9a7444;
}
.sfb-mima-unpaid-strip>div:first-child strong{
    display:block;
    white-space:nowrap;
    font-size:14px;
}
.sfb-mima-unpaid-mini{
    display:flex;
    gap:6px;
    min-width:0;
    overflow:hidden;
}
.sfb-mima-unpaid-mini span,
.sfb-mima-unpaid-mini small{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 9px;
    border-radius:999px;
    background:#fff;
    color:#786345;
    font-size:11px;
    white-space:nowrap;
}
.sfb-mima-unpaid-strip>b{
    font-size:24px;
    color:#8c724a;
}
@media(max-width:700px){
    .sfb-mima-unpaid-strip{
        grid-template-columns:1fr auto;
        gap:8px;
        padding:12px 13px;
    }
    .sfb-mima-unpaid-mini{
        grid-column:1/-1;
        order:3;
    }
    .sfb-mima-unpaid-mini span:nth-child(n+3){
        display:none;
    }
    .sfb-fast-messages .sfb-cleaning-message-list{
        max-height:260px;
    }
}


/* v0.22.73 – fast overview language + relative arrival/departure */
.sfb-fast-stay-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    margin-bottom:4px;
}
.sfb-fast-stay-title>strong{
    margin:0!important;
    min-width:0;
    flex:1 1 auto;
}
.sfb-fast-relative{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 8px;
    border-radius:999px;
    font-size:10px;
    font-style:normal;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}
.sfb-fast-relative.is-current{
    background:#e7eee0;
    color:#536a3e;
}
.sfb-fast-relative.is-next{
    background:#f3eee2;
    color:#7b6540;
}
@media(max-width:700px){
    .sfb-fast-relative{
        min-height:22px;
        padding:0 7px;
        font-size:9px;
    }
}


/* v0.22.75 – Mima relative-day indicators */
.sfb-mima-booking-title-row,
.sfb-mima-next-arrival-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
}
.sfb-mima-booking-title-row>strong,
.sfb-mima-next-arrival-row>span{
    min-width:0;
}
.sfb-mima-relative{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 8px;
    border-radius:999px;
    font-size:10px;
    font-style:normal;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}
.sfb-mima-relative.is-departure{
    background:#e8efe1;
    color:#556b42;
}
.sfb-mima-relative.is-arrival{
    background:#f4eee2;
    color:#7a6440;
}
.sfb-mima-next-arrival-row{
    margin-top:4px;
}
.sfb-mima-next-arrival-row>span{
    margin-top:0!important;
}
@media(max-width:700px){
    .sfb-mima-relative{
        min-height:22px;
        padding:0 7px;
        font-size:9px;
    }
}

/* Manager property form: keep labels and controls in separate rows on tablets. */
.sfb-manager-property-overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,370px),1fr))!important}
.sfb-manager-create-grid.sfb-manager-property-settings{grid-template-columns:minmax(0,1fr)!important}
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-time-stack{grid-template-columns:minmax(0,1fr)!important;gap:16px!important;width:100%!important;min-width:0!important}
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-time-stack label,
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-default-cleaning{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;min-width:0!important;width:100%!important}
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-time-stack label > span,
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-default-cleaning > span{display:block!important;position:static!important;white-space:normal!important;line-height:1.35!important}
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-time-stack input,
.sfb-manager-create-grid.sfb-manager-property-settings .sfb-property-default-cleaning select{display:block!important;position:static!important;width:100%!important;box-sizing:border-box!important}
.sfb-advertising-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.sfb-advertising-panel{padding:22px}.sfb-advertising-panel h4{margin:0 0 16px;font-family:"Playfair Display",Georgia,serif;font-size:25px;color:#354334}
.sfb-advertising-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sfb-advertising-form label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:700;color:#4b5146}
.sfb-advertising-form input,.sfb-advertising-form select,.sfb-advertising-form textarea{width:100%;box-sizing:border-box;border:1px solid #d9d3c8;border-radius:10px;padding:11px;background:white;color:#2d332b;font:inherit}
.sfb-advertising-wide{grid-column:1/-1}.sfb-advertising-form button{justify-self:start;grid-column:1/-1}
.sfb-advertising-draft{display:flex;flex-direction:column;gap:9px;padding:17px 0;border-top:1px solid #e3e5dc;color:#4b5146}
.sfb-advertising-draft strong{font-family:"Playfair Display",Georgia,serif;font-size:20px;color:#354334}
.sfb-advertising-draft p{margin:0;line-height:1.5}.sfb-advertising-draft a{color:#526c3e}
.sfb-ad-free{color:#526c3e;font-weight:700}.sfb-ad-busy{color:#a04437;font-weight:700}
.sfb-advertising-delete{border:0;background:transparent;padding:4px 0;color:#a04437;cursor:pointer}
@media(max-width:900px){.sfb-advertising-layout{grid-template-columns:1fr}}
@media(max-width:520px){.sfb-advertising-form{grid-template-columns:1fr}.sfb-advertising-wide{grid-column:auto}}

/* Archived external bookings can be reviewed and restored one at a time. */
.sfb-historical-bookings{margin:18px 0;padding:18px 22px}
.sfb-historical-bookings summary{cursor:pointer;font-family:"Playfair Display",Georgia,serif;font-size:20px;color:#354334}
.sfb-historical-bookings > p{color:#626c5c;line-height:1.5}
.sfb-historical-list{display:grid;gap:10px}
.sfb-historical-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #e3e5dc}
.sfb-historical-row span{display:grid;gap:4px;min-width:0}.sfb-historical-row small{color:#6e756c}
.sfb-historical-row button{border:0;border-radius:8px;padding:10px 16px;background:#607546;color:#fff;font-weight:700;cursor:pointer}
@media(max-width:600px){.sfb-historical-row{align-items:flex-start;flex-direction:column}}

.sfb-finance-history-warning{margin:16px 0 22px;padding:20px 24px;border:1px solid #d6c2a1;border-radius:14px;background:#fbf5e9;color:#473d2d}
.sfb-finance-history-warning strong{font-size:17px}.sfb-finance-history-warning p{margin:9px 0;line-height:1.5}
.sfb-finance-history-warning ul{margin:8px 0 12px;padding-left:22px}
.sfb-finance-history-warning a{color:#4f6739;font-weight:700}

.sfb-feed-review-card{margin:0 0 18px;padding:18px 22px;border-color:#d6c2a1!important;background:#fbf5e9!important}
.sfb-feed-review-card summary{cursor:pointer;color:#574529;font-size:18px;font-weight:800}
.sfb-feed-review-card p{line-height:1.5;color:#574d3e}
.sfb-feed-review-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e5d9c3}
.sfb-feed-review-row span{color:#675e4b}
@media(max-width:620px){.sfb-feed-review-row{flex-direction:column;gap:4px}}

.sfb-2026-recovery-card{margin:0 0 18px;padding:18px 22px;background:#f4f6ef!important;border-color:#cbd6bf!important}
.sfb-2026-recovery-card summary{cursor:pointer;font-size:19px;font-weight:800;color:#354334}
.sfb-2026-recovery-card p{line-height:1.5;color:#455440}
.sfb-2026-recovery-card > small{display:block;margin-top:12px;line-height:1.5;color:#66735f}

.sfb-2026-recovery-card ul{margin:8px 0 14px;padding-left:22px;line-height:1.55;color:#455440}
