
#bookingChoices label{display:block;margin:12px 0}#bookingChoices select{display:block;width:100%;padding:12px;border:1px solid #cbb9dd;border-radius:8px;background:white;color:#292824}
.account-page #bookingChoices,.account-page #clientLegend{display:none}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;line-height:1.5}
.calendar-legend span{padding:5px 8px;border-radius:5px;color:#33283e}
#calDays button{opacity:1!important;color:#33283e}
#calDays .free,.calendar-legend .free{background:#fff}
#calDays .partial,.calendar-legend .partial{background:#eee5f6}
#calDays .busy,.calendar-legend .busy{background:#d5bce8}
#calDays .full,.calendar-legend .full{background:#e9c9d1}
#calDays .unavailable,.calendar-legend .unavailable{background:#e5e3e7;color:#625f66}
#calDays button.on{background:#9670C5;color:white;outline:2px solid #644086;outline-offset:2px}
.work-calendar{margin:30px 0;padding:20px;border:1px solid #d5bce8;border-radius:12px}
.work-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.work-toolbar button,.work-toolbar select,.work-calendar input,.work-calendar select{padding:8px;max-width:100%;min-height:40px}
.work-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.work-day{border:1px solid #e5ddeb;min-height:90px;padding:5px;overflow-wrap:anywhere}
.work-day h3{margin:0 0 5px;font-size:14px}
.work-event{display:block;width:100%;text-align:left;border:0;border-left:4px solid #9670C5;border-radius:4px;padding:6px;margin:5px 0;cursor:pointer;color:#292824;white-space:normal;font-size:12px}
.pending{background:#fff0cd}.confirmed{background:#e4d5f1}.completed,.album_in_progress{background:#dcefe0}.rejected,.cancelled,.expired{background:#f1dede}.blocked,.off-hours{background:#e6e6e8}
.work-settings{overflow:auto}.work-settings table{border-collapse:collapse;min-width:650px;width:100%}.work-settings td,.work-settings th{padding:5px;text-align:left}.work-settings input{width:100%;box-sizing:border-box}
.work-settings input[type=number]{width:85px}.work-settings input[type=checkbox]{width:auto}
@media(max-width:600px){.work-calendar{padding:10px}.work-grid.month .work-day{min-height:65px;padding:3px}.work-grid.month .work-event{font-size:10px;padding:3px}.work-grid.week{grid-template-columns:1fr}.work-grid.day{grid-template-columns:1fr}}

.booking-access-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.booking-access-buttons button{padding:12px;border:1px solid #9670C5;border-radius:8px;background:white;color:#573673;cursor:pointer;font:inherit}.booking-access-buttons button[aria-pressed=true]{background:#9670C5;color:white}#eventDetails label{display:block;margin:10px 0}#eventDetails input,#eventDetails textarea{box-sizing:border-box;width:100%}

.booking-price-summary{margin:8px 0;color:#573673;font-weight:600;overflow-wrap:anywhere}
.booking-price-card{margin:8px 0;color:#33283e}
.booking-price-card summary{cursor:pointer}
.booking-price-card input{width:110px;max-width:100%;margin-left:6px}
.booking-price-card output{font-weight:600}
.work-event-price{display:block;margin-top:3px}

#bookingPrice {
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid #9670C5;
  border-left: 4px solid #6b4295;
  border-radius: 8px;
  background: #eee2f8;
  color: #43265e;
  line-height: 1.45;
}
#bookingPrice strong {
  color: #301044;
  font-size: 1.4em;
  white-space: nowrap;
}

#calDays button.day-off, .calendar-legend .day-off, .work-day.day-off {
  background: #f9d6dc;
  color: #792735;
  border-color: #bd6877;
}
#calDays button.day-off small { display: block; font: 8px/1.2 Arial, sans-serif; overflow-wrap: anywhere; }
.work-day.day-off > small { display: block; font-weight: 700; }
.days-off-panel { margin: 14px 0; }
.days-off-panel form[hidden] { display: none; }
.days-off-panel ul { max-height: 230px; overflow: auto; padding-left: 20px; }
.days-off-panel li { margin: 8px 0; overflow-wrap: anywhere; }
.days-off-panel li button { margin-left: 8px; }
#bookingPrice:not([hidden]) { animation: booking-price-appear 420ms cubic-bezier(.2,.7,.3,1) both; }
@keyframes booking-price-appear {
  from { opacity: 0; filter: blur(6px); transform: translateY(8px); }
  to { opacity: 1; filter: none; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  #bookingPrice:not([hidden]) { animation: none; }
}

.booking-guide {
  padding: 12px;
  border: 1px solid #d8c3eb;
  border-radius: 14px;
  background: linear-gradient(145deg, #ffffffe6, #eee2f8b8);
  color: #49345f;
}
#bookingSteps {
  counter-reset: booking-step;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0;
  list-style: none;
}
#bookingSteps li {
  counter-increment: booking-step;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid #d9c9e6;
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
}
#bookingSteps li::before { content: counter(booking-step); font-weight: 700; }
#bookingSteps li.is-done { background: #e9ddf8; }
#bookingSteps li.is-done::before { content: "✓"; }
#bookingSteps li[aria-current="step"] { background: #654582; color: #fff; border-color: #654582; }
#bookingHint { margin: 8px 0 0; color: #49345f; font: 600 13px/1.45 Arial, sans-serif; }
