#schedule-nav-dropdown > a{cursor:pointer !important}
body.fw-sched-lock{overflow:hidden}

#fw-schedule-modal{
  position:fixed;
  inset:0;
  z-index:10060;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px 16px;
  background:rgba(42,32,22,.46);
}
#fw-schedule-modal.is-open{display:flex}
#cancel-reason-modal,
#reschedule-modal,
#settle-balance-modal{
  z-index:10080 !important;
}
#fw-schedule-modal .fw-sched-dialog{
  width:min(840px,calc(100vw - 32px));
  max-height:min(86vh,780px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#ffffff;
  color:#1a1a1a;
  border:1px solid rgba(201,162,39,.28);
  border-radius:0;
  box-shadow:0 18px 40px rgba(42,32,22,.18);
  font-family:"TT Norms",sans-serif;
}
#fw-schedule-modal .fw-sched-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-shrink:0;
  padding:16px 16px 6px;
  background:#ffffff;
}
#fw-schedule-modal .fw-sched-brand{display:flex;gap:10px;min-width:0}
#fw-schedule-modal .fw-sched-mark{
  width:36px;height:36px;flex:0 0 36px;
  display:flex;align-items:center;justify-content:center;
  border-radius:0;
  background:#fff6e4;
  color:#c9a227;
}
#fw-schedule-modal .fw-sched-mark svg{width:22px;height:22px}
#fw-schedule-modal .fw-sched-head h2{
  margin:0;
  font-family:"The Youngest","Playfair Display",Georgia,serif;
  font-size:24px;
  font-weight:500;
  line-height:1;
  letter-spacing:.01em;
}
#fw-schedule-modal .fw-sched-head p{
  margin:6px 0 0;
  color:#8a8076;
  font-size:13px;
}
#fw-schedule-modal .fw-sched-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
#fw-schedule-modal .fw-sched-x,
#fw-schedule-modal #toggle-calendar-btn{
  width:36px;height:36px;padding:0 !important;
  display:flex;align-items:center;justify-content:center;
  border-radius:999px !important;
  border:0 !important;
  background:transparent !important;
  color:#6b635b !important;
  cursor:pointer;
}
#fw-schedule-modal .fw-sched-x:hover,
#fw-schedule-modal #toggle-calendar-btn:hover{background:#f4ead6 !important;color:#1a1a1a !important}
#fw-schedule-modal #clear-date-filter{
  border:0 !important;background:transparent !important;
  color:#8f6f0c !important;font-size:11px !important;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none !important;cursor:pointer;
}
#fw-schedule-modal #fw-sched-split{
  display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden;
}
#fw-schedule-modal #fw-sched-calendar-slot{min-width:0;max-width:100%;flex-shrink:0}
#fw-schedule-modal.is-date-split #fw-sched-split{
  display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:stretch;
  padding:12px 16px 16px;overflow:hidden;
}
#fw-schedule-modal.is-date-split .dropdown-calendar-container{
  width:100% !important;max-width:none !important;margin:0 !important;
}
#fw-schedule-modal.is-date-split .fw-sched-list-host{
  margin:0;padding:0 0 0 14px;overflow:auto;border-left:1px solid #f0e6d4;min-height:0;
}
#fw-schedule-modal.is-date-split .fw-sched-row{
  grid-template-columns:46px 52px minmax(0,1fr);
  gap:1.5rem;
}
#fw-schedule-modal.is-date-split .fw-sched-side{grid-column:1 / -1;text-align:left;margin-top:2px}
#fw-schedule-modal.is-date-split .fw-sched-badge,
#fw-schedule-modal.is-date-split .fw-sched-actions{justify-content:flex-start;margin-left:0}
#fw-schedule-modal.is-date-split .fw-thumb-row{max-width:52px}
#fw-schedule-modal.is-date-split .fw-thumb{width:52px;height:68px;flex-basis:52px}
#fw-schedule-modal .dropdown-calendar-container{
  position:relative !important;top:auto !important;right:auto !important;left:auto !important;
  transform:none !important;animation:none !important;
  width:min(320px,100%) !important;max-width:320px;box-sizing:border-box;
  margin:10px auto 0 !important;padding:12px 10px !important;
  border-radius:14px;box-shadow:none;overflow:hidden;
}
#fw-schedule-modal .dropdown-calendar-container.open-popover{
  display:block !important;transform:none !important;animation:none !important;
}
#fw-schedule-modal .calendar-header{
  display:flex !important;align-items:center;justify-content:space-between;
  gap:8px;margin-bottom:8px !important;
}
#fw-schedule-modal #calendar-month-year{
  min-width:0;font-size:clamp(11px,2.4vw,13px) !important;text-align:center;
}
#fw-schedule-modal .dropdown-calendar-container .calendar-weekdays,
#fw-schedule-modal #calendar-days-grid{
  display:grid !important;grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:4px;width:100%;
}
#fw-schedule-modal .calendar-weekdays{font-size:clamp(9px,2vw,11px) !important;letter-spacing:0 !important}
#fw-schedule-modal .calendar-weekdays > div{min-width:0;text-align:center}
#fw-schedule-modal .calendar-day-cell{
  justify-self:center !important;align-self:center !important;
  width:min(36px,100%) !important;height:auto !important;
  aspect-ratio:1 !important;max-height:36px !important;
  min-width:0 !important;min-height:0 !important;
  font-size:clamp(11px,2.6vw,13px) !important;line-height:1;
}
#fw-schedule-modal .calendar-day-cell::after{bottom:3px !important}
#fw-schedule-modal .calendar-nav-btn{
  width:28px !important;height:28px !important;flex:0 0 28px;
  border-radius:999px !important;font-size:14px !important;
}
#fw-schedule-modal .fw-sched-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
  flex-shrink:0;
  padding:8px 16px 0;
}
#fw-schedule-modal .fw-sched-stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:12px 8px;text-align:center;
  background:#fff;border:1px solid #f0e6d4;border-radius:0;
}
#fw-schedule-modal .fw-sched-stat > div{text-align:center}
#fw-schedule-modal .fw-sched-ico{
  width:32px;height:32px;flex:0 0 32px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
}
#fw-schedule-modal .fw-sched-ico svg{width:18px;height:18px}
#fw-schedule-modal .fw-sched-stat strong{
  display:block;font-size:22px;line-height:1;font-weight:700;
}
#fw-schedule-modal .fw-sched-stat span{
  display:block;margin-top:3px;color:#8a8076;font-size:13px;
}
#fw-schedule-modal .is-pending .fw-sched-ico{background:#fff1df;color:#d9842b}
#fw-schedule-modal .is-pending strong{color:#d9842b}
#fw-schedule-modal .is-approved .fw-sched-ico{background:#e8f6ee;color:#2f8f55}
#fw-schedule-modal .is-approved strong{color:#2f8f55}
#fw-schedule-modal .is-cancelled .fw-sched-ico{background:#fdecea;color:#d1544c}
#fw-schedule-modal .is-cancelled strong{color:#d1544c}
#fw-schedule-modal .fw-sched-tabs{
  display:flex;gap:18px;margin:12px 16px 0;padding:0;flex-shrink:0;
  border-bottom:1px solid #f0e6d4;background:transparent;
}
#fw-schedule-modal .fw-sched-tab{
  position:relative;margin:0;padding:8px 0 12px;border:0;border-radius:0;
  background:transparent;color:#8a8076;
  font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;cursor:pointer;
}
#fw-schedule-modal .fw-sched-tab.is-on{color:#1a1a1a}
#fw-schedule-modal .fw-sched-tab.is-on:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#c9a227;border-radius:2px;
}
#fw-schedule-modal .fw-sched-list-host{
  min-height:0;flex:1 1 auto;overflow:auto;padding:8px 12px 12px;
}
#fw-schedule-modal .appointment-list{max-height:none;margin:0;overflow:visible}
#fw-schedule-modal .no-appointments,
#fw-schedule-modal .fw-sched-empty{
  padding:28px 8px;text-align:center;color:#8a8076;font-size:14px;
}
#fw-schedule-modal .fw-sched-empty[hidden]{display:none !important}
#fw-schedule-modal.is-date-split .fw-sched-empty:not([hidden]),
#fw-schedule-modal.is-date-split .no-appointments{
  display:flex;align-items:center;justify-content:center;
  min-height:220px;margin:0;padding:24px 16px;
  border:1px solid #f0e6d4;background:#fff;color:#8a8076;
}

#fw-schedule-modal .appointment-item.fw-sched-card{
  display:block;margin:0 0 12px;padding:15px 18px !important;
  border:1px solid #f0e6d4 !important;border-radius:0;
  background:#fff;box-shadow:none;font-size:13px !important;text-align:left !important;
}
#fw-schedule-modal .fw-sched-row{
  display:grid;
  grid-template-columns:52px 58px minmax(0,1fr) minmax(220px,max-content);
  gap:1.5rem;align-items:center;
}
#fw-schedule-modal .fw-datebox{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;
  min-height:0;border:0;border-radius:0;background:transparent;text-align:center;line-height:1.15;
}
#fw-schedule-modal .fw-datebox-m{color:#8a8076;font-size:10px;font-weight:700;letter-spacing:.06em}
#fw-schedule-modal .fw-datebox-d{
  font-family:"The Youngest","Playfair Display",Georgia,serif;
  font-size:22px;line-height:1.15;color:#1a1a1a;margin-top:0;
}
#fw-schedule-modal .fw-datebox-y{color:#8a8076;font-size:10px;margin-top:0}
#fw-schedule-modal .fw-thumb-row{display:flex;gap:4px;min-width:0;max-width:58px;overflow:hidden}
#fw-schedule-modal .fw-thumb{
  width:58px;height:74px;flex:0 0 58px;border-radius:10px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#f7f1e6,#efe4d2);color:#c9a227;
}
#fw-schedule-modal .fw-thumb img{width:100%;height:100%;object-fit:cover;display:block}
#fw-schedule-modal .fw-thumb svg{width:26px;height:26px}
#fw-schedule-modal .fw-sched-title{
  margin:0;font-size:15px;font-weight:700;color:#1a1a1a;line-height:1.5;
}
#fw-schedule-modal .fw-sched-line{margin:4px 0 0;color:#6b635b;font-size:12px;line-height:1.5}
#fw-schedule-modal .fw-sched-time{
  display:flex;align-items:center;gap:6px;margin:4px 0 0;
  color:#6b635b;font-size:12px;font-weight:600;line-height:1.5;
}
#fw-schedule-modal .fw-sched-time-ico{
  width:14px;height:14px;flex:0 0 14px;display:inline-flex;color:#8a8076;
}
#fw-schedule-modal .fw-sched-time-ico svg{width:14px;height:14px;display:block}
#fw-schedule-modal .fw-sched-side{text-align:right;min-width:0}
#fw-schedule-modal .fw-sched-badge{display:flex;justify-content:flex-end}
#fw-schedule-modal .status-badge{
  padding:2px 7px;border-radius:0;font-size:10px;font-weight:800;letter-spacing:.06em;
}
#fw-schedule-modal .fw-sched-payline,
#fw-schedule-modal .fw-sched-price{margin:4px 0 0;color:#6b635b;font-size:12px;line-height:1.5}
#fw-schedule-modal .fw-sched-payline strong,
#fw-schedule-modal .fw-sched-price strong{color:#1a1a1a;font-weight:700}
#fw-schedule-modal .fw-sched-actions{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:flex-end;
  align-items:stretch;
  gap:8px;
  margin:10px 0 0 auto;
  width:max-content;
  max-width:100%;
}
#fw-schedule-modal .fw-sched-actions button,
#fw-schedule-modal .fw-sched-actions .cancel-appt-btn,
#fw-schedule-modal .fw-sched-actions .fw-sched-details-btn{
  width:auto !important;
  flex:1 1 0;
  min-width:108px;
  max-width:none !important;
  box-sizing:border-box;
  margin:0 !important;
  padding:6px 10px !important;
  font-size:11px !important;
  line-height:1.2;
  border-radius:8px !important;
  white-space:nowrap;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:30px;
}
#fw-schedule-modal .fw-sched-actions .fw-sched-details-btn{
  border:0;
  background:#c9a227;
  color:#fff;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  text-decoration:none;
}
#fw-schedule-modal .fw-sched-actions .fw-sched-details-btn:hover{background:#a68516;color:#fff}
#fw-schedule-modal .fw-sched-resched-note{
  margin:6px 0 0 !important;
  max-width:100%;
  text-align:right;
  font-size:10px !important;
  font-weight:600 !important;
  line-height:1.5;
  color:#94a3b8 !important;
}
#fw-schedule-modal .fw-sched-extras{margin-top:8px}
#fw-schedule-modal .fw-sched-extras > *{margin-top:6px !important}
#fw-schedule-modal .fw-sched-details-panel{margin-top:8px}
#fw-schedule-modal .fw-sched-details-panel > *{margin-top:6px !important}
#fw-schedule-modal .appointment-item.fw-appt-focus{
  display:block !important;border-color:#c9a227 !important;
  box-shadow:0 0 0 2px rgba(201,162,39,.25);
}

@media (max-width:720px){
  #fw-schedule-modal{padding:10px;align-items:center}
  #fw-schedule-modal .fw-sched-dialog{width:100%;max-height:90vh;border-radius:0}
  #fw-schedule-modal .fw-sched-head{flex-wrap:wrap;padding:14px 12px 4px}
  #fw-schedule-modal .fw-sched-head h2{font-size:22px}
  #fw-schedule-modal .fw-sched-tools{width:100%;justify-content:flex-end}
  #fw-schedule-modal .fw-sched-stats{padding-left:12px;padding-right:12px;gap:6px}
  #fw-schedule-modal .fw-sched-stat{padding:10px 4px}
  #fw-schedule-modal .fw-sched-stat strong{font-size:18px}
  #fw-schedule-modal .fw-sched-stat span{font-size:11px}
  #fw-schedule-modal .fw-sched-tabs,
  #fw-schedule-modal .fw-sched-list-host{padding-left:12px;padding-right:12px}
  #fw-schedule-modal .fw-sched-tabs{margin-left:12px;margin-right:12px;gap:14px}
  #fw-schedule-modal .dropdown-calendar-container{width:min(320px,100%) !important;max-width:100%;margin:8px auto 0 !important;padding:8px 6px !important}
  #fw-schedule-modal.is-date-split #fw-sched-split{display:flex;flex-direction:column;grid-template-columns:none;padding:0}
  #fw-schedule-modal.is-date-split .fw-sched-list-host{border-left:0;padding:12px}
  #fw-schedule-modal.is-date-split .dropdown-calendar-container{width:min(320px,100%) !important;max-width:320px !important;margin:8px auto 0 !important}
  #fw-schedule-modal .calendar-day-cell{width:min(32px,100%) !important;max-height:32px !important;font-size:12px !important}
  #fw-schedule-modal .calendar-nav-btn{width:26px !important;height:26px !important;flex-basis:26px}
  #fw-schedule-modal .fw-sched-row{grid-template-columns:46px 52px minmax(0,1fr);gap:1rem;align-items:start}
  #fw-schedule-modal .fw-thumb-row{max-width:52px}
  #fw-schedule-modal .fw-thumb{width:52px;height:68px;flex-basis:52px}
  #fw-schedule-modal .fw-sched-side{grid-column:1 / -1;text-align:left}
  #fw-schedule-modal .fw-sched-badge,
  #fw-schedule-modal .fw-sched-actions{justify-content:flex-start;margin-left:0}
  #fw-schedule-modal .fw-sched-actions{width:100%}
  #fw-schedule-modal .fw-sched-actions button,
  #fw-schedule-modal .fw-sched-actions .cancel-appt-btn,
  #fw-schedule-modal .fw-sched-actions .fw-sched-details-btn{min-width:0;flex:1 1 0}
  #fw-schedule-modal .fw-sched-resched-note{text-align:left}
}
