/* Bubblzz only. The shared bookings engine retains every other tenant's skin. */
#bookings.bubblzz-bookings {
  --pgb-ink:#322725; --pgb-muted:#786b68; --pgb-line:#ecdeda;
  --pgb-blue:#a95452; --pgb-bg:#fff8f7;
}
#bookings.bubblzz-bookings #pgBookingsRoot { max-width:1680px; margin:0 auto; }
#bookings.bubblzz-bookings :is(button,input,select,textarea):focus-visible { outline:3px solid #d9a29b; outline-offset:3px; }
#bookings.bubblzz-bookings .pgb-heading { margin:0 0 14px; gap:14px; }
#bookings.bubblzz-bookings .pgb-heading h2 { font-size:21px; margin:5px 0 6px; }
#bookings.bubblzz-bookings .pgb-eyebrow { color:#9b625c; letter-spacing:.13em; }
#bookings.bubblzz-bookings .pgb-heading p { font-size:13px; line-height:1.5; }
#bookings.bubblzz-bookings .pgb-primary { border-radius:12px; min-height:44px; background:#a95452; box-shadow:0 4px 12px #a954521a; }
#bookings.bubblzz-bookings .pgb-primary:hover:not(:disabled) { background:#914643; }
#bookings.bubblzz-bookings .pgb-metrics { gap:10px; margin:0 0 14px; }
#bookings.bubblzz-bookings .pgb-metric { border:1px solid #ecdeda; border-radius:14px; background:white; padding:12px 16px; text-align:left; display:grid; grid-template-columns:1fr auto; gap:5px 10px; }
#bookings.bubblzz-bookings .pgb-metric span { align-self:center; color:#786b68; font-size:12px; }
#bookings.bubblzz-bookings .pgb-metric strong { color:#633f3c; font-size:27px; margin:0; grid-column:2; grid-row:1 / 3; align-self:center; }
#bookings.bubblzz-bookings .pgb-metric small { color:#786b68; font-size:10px; line-height:1.45; }
#bookings.bubblzz-bookings .bzb-counter:hover, #bookings.bubblzz-bookings .bzb-counter.is-active { background:#fbeceb; border-color:#ce9c95; }
#bookings.bubblzz-bookings .pgb-workspace { border-radius:18px; box-shadow:0 5px 24px #81524d08; }
#bookings.bubblzz-bookings .pgb-toolbar { padding:14px 16px 12px; gap:10px; }
#bookings.bubblzz-bookings .pgb-date-nav { flex-wrap:wrap; }
#bookings.bubblzz-bookings .pgb-date-nav button { height:38px; border-radius:9px; }
#bookings.bubblzz-bookings .pgb-date-nav [data-pgb="today"] { color:#914643; font-weight:650; }
#bookings.bubblzz-bookings .pgb-segments { background:#faf0ee; border-color:#ecdeda; }
#bookings.bubblzz-bookings .pgb-segments button { min-height:32px; font-size:12px; }
#bookings.bubblzz-bookings .pgb-segments .is-active { color:#914643; box-shadow:0 2px 6px #82524a12; }
#bookings.bubblzz-bookings .pgb-filters { padding:0 16px 14px; grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(125px,.85fr) minmax(145px,1fr) auto; }
#bookings.bubblzz-bookings :is(input,select,textarea) { border-color:#e5d6d2; border-radius:9px; min-height:40px; }
#bookings.bubblzz-bookings .pgb-week-strip { background:#fffaf9; padding:8px 16px; gap:8px; }
#bookings.bubblzz-bookings .pgb-week-strip button { padding:8px 10px; gap:4px; }
#bookings.bubblzz-bookings .pgb-week-strip button.is-active { background:#f9e6e3; border-color:#dbaaa2; }
#bookings.bubblzz-bookings .pgb-week-strip button:hover { background:#fcf0ed; }
#bookings.bubblzz-bookings .pgb-week-strip button.is-active strong { color:#914643; }
#bookings.bubblzz-bookings .pgb-context { padding:12px 16px; }
#bookings.bubblzz-bookings .pgb-context h3 { font-size:15px; }
#bookings.bubblzz-bookings .pgb-content { grid-template-columns:minmax(0,1fr) minmax(350px,42%); }
#bookings.bubblzz-bookings .pgb-content:has(.pgb-roster[hidden]) { grid-template-columns:1fr; }
#bookings.bubblzz-bookings .pgb-agenda { padding:16px; background:#fffbfa; }
#bookings.bubblzz-bookings .pgb-day-label { font-size:12px; }
#bookings.bubblzz-bookings .pgb-day-label span { background:#f6e7e3; color:#8b5b55; }
#bookings.bubblzz-bookings .pgb-session { padding:13px; gap:12px; border-radius:12px; grid-template-columns:65px minmax(0,1fr) auto; }
#bookings.bubblzz-bookings .pgb-session:hover { border-color:#d7b2ac; }
#bookings.bubblzz-bookings .pgb-session.is-selected { background:#fff1ee; border-color:#d6a19a; box-shadow:inset 3px 0 #a95452; }
#bookings.bubblzz-bookings .pgb-session-main strong { font-size:14px; line-height:1.4; }
#bookings.bubblzz-bookings .pgb-session-main small { color:#786b68; }
#bookings.bubblzz-bookings .pgb-places { background:#f0f6f1; padding:7px 9px; border-radius:8px; }
#bookings.bubblzz-bookings .pgb-places.is-full { background:#faf0e2; color:#87602e; }
#bookings.bubblzz-bookings .pgb-week-agenda .pgb-session { grid-template-columns:52px minmax(0,1fr); }
#bookings.bubblzz-bookings .pgb-roster-head { background:#fffaf9; padding:16px; }
#bookings.bubblzz-bookings .pgb-roster-head h3 { font-size:18px; }
#bookings.bubblzz-bookings .pgb-roster-capacity { margin:12px 0; }
#bookings.bubblzz-bookings .pgb-person { padding:15px 16px; }
#bookings.bubblzz-bookings .pgb-person-head strong { font-size:14px; }
#bookings.bubblzz-bookings .pgb-person-head small, #bookings.bubblzz-bookings .pgb-note { font-size:12px; color:#786b68; line-height:1.5; }
#bookings.bubblzz-bookings .pgb-person.is-inactive { background:#fcf8f7; }
#bookings.bubblzz-bookings .pgb-status { font-size:11px; background:#fff0da; color:#8b6024; }
#bookings.bubblzz-bookings .pgb-status-visited { color:#21694d; background:#e6f4ed; }
#bookings.bubblzz-bookings :is(.pgb-status-no_show,.pgb-status-canceled,.pgb-status-late_canceled) { color:#9b3d49; background:#fbe8eb; }
#bookings.bubblzz-bookings .pgb-person-actions { gap:6px; }
#bookings.bubblzz-bookings .pgb-person-actions button { color:#785652; min-height:36px; padding:7px 10px; font-size:12px; border-radius:8px; }
#bookings.bubblzz-bookings .pgb-person-actions [data-pgb-status="visited"] { color:#21694d; border-color:#b9d9c8; background:#f1f9f4; }
#bookings.bubblzz-bookings .pgb-person-actions [data-pgb-status="no_show"] { color:#9b3d49; }
#bookings.bubblzz-bookings .pgb-person-actions .pgb-link { border-color:#ecdeda; }
#bookings.bubblzz-bookings .pgb-records { grid-template-columns:repeat(2,minmax(0,1fr)); }
#bookings.bubblzz-bookings .pgb-records .pgb-person { display:flex; flex-direction:column; gap:10px; border-radius:13px; }
#bookings.bubblzz-bookings .pgb-records .pgb-person-actions { margin-top:auto; padding-top:4px; }
#bookings.bubblzz-bookings .pgb-empty-icon { color:#a95452; background:#fae8e5; border-color:#ecdeda; }
#bookings.bubblzz-bookings .pgb-empty p { font-size:13px; }
#bookings.bubblzz-bookings .bzb-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding:0 0 14px; color:#786b68; font-size:12px; }
#bookings.bubblzz-bookings .bzb-pagination span { margin-right:auto; }
#bookings.bubblzz-bookings .bzb-pagination button { min-height:36px; border:1px solid #ecdeda; border-radius:8px; padding:7px 12px; color:#914643; background:white; }
#bookings.bubblzz-bookings .bzb-settings { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 4px 4px; }
#bookings.bubblzz-bookings .bzb-settings > span { color:#786b68; font-size:12px; }
#bookings.bubblzz-bookings .bzb-settings:has(button[hidden]) { display:none; }
#bookings.bubblzz-bookings .pgb-backdrop { background:#35242066; }
#bookings.bubblzz-bookings .pgb-dialog { border-radius:20px; box-shadow:0 24px 90px #4b252533; }
#bookings.bubblzz-bookings .pgb-dialog-head { background:#fff8f7; border-radius:20px 20px 0 0; padding:18px 22px; }
#bookings.bubblzz-bookings .pgb-dialog-head > button { background:white; color:#785652; min-height:36px; }
#bookings.bubblzz-bookings .booking-form { gap:16px; }
#bookings.bubblzz-bookings .booking-form label { color:#786b68; }
#bookings.bubblzz-bookings .booking-client-search { order:0; }
#bookings.bubblzz-bookings .bzb-form-date { order:1; }
#bookings.bubblzz-bookings .bzb-form-trainer { order:2; }
#bookings.bubblzz-bookings .bzb-form-slot { order:3; grid-column:1 / -1; }
#bookings.bubblzz-bookings .bzb-form-capacity { display:none; }
#bookings.bubblzz-bookings .pgb-slot-hint { order:4; background:#fff8f5; color:#785652; border-color:#ecdeda; }
#bookings.bubblzz-bookings .booking-submit-row { order:5; }
#bookings.bubblzz-bookings .booking-submit-row:has(label[hidden]) { grid-template-columns:1fr; }
#bookings.bubblzz-bookings .booking-submit-row button[type="submit"] { min-height:46px; border-radius:11px; }
#bookings.bubblzz-bookings :is(.pgt-directory,.pgt-welcome,.pgt-footer,.pgt-slot.trainer-slot-row,.pgt-no-schedule) { background:#fffaf9; }
#bookings.bubblzz-bookings :is(.pgt-add,.pgt-avatar,.pgt-welcome-icon,.pgt-editor-tabs button span) { color:#914643; background:#f9e6e3; border-color:#ecdeda; }
#bookings.bubblzz-bookings .pgt-directory-item.is-selected { background:#fff1ee; border-color:#d6a19a; }
#bookings.bubblzz-bookings .pgt-directory-tabs { background:#faefed; }
#bookings.bubblzz-bookings .pgt-slot .trainer-slot-days label:has(input:checked) { background:#fff1ee; border-color:#d6a19a; }
@media(min-width:1600px) { #bookings.bubblzz-bookings .pgb-records { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1200px) {
  #bookings.bubblzz-bookings .pgb-filters { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
  #bookings.bubblzz-bookings .pgb-search { grid-column:1 / -1; }
  #bookings.bubblzz-bookings .pgb-reset { grid-column:auto; }
  #bookings.bubblzz-bookings .pgb-session { grid-template-columns:52px minmax(0,1fr); }
  #bookings.bubblzz-bookings .pgb-places { grid-column:2; text-align:left; display:flex; align-items:center; gap:8px; justify-self:start; }
  #bookings.bubblzz-bookings .pgb-places small { margin:0; }
  #bookings.bubblzz-bookings .pgb-metric { padding:12px; grid-template-columns:1fr; }
  #bookings.bubblzz-bookings .pgb-metric strong { grid-column:auto; grid-row:2; }
}
@media(max-width:800px) {
  #bookings.bubblzz-bookings .pgb-content, #bookings.bubblzz-bookings .pgb-records { grid-template-columns:1fr; }
  #bookings.bubblzz-bookings .pgb-heading { align-items:stretch; }
  #bookings.bubblzz-bookings .pgb-heading-actions button { width:100%; }
  #bookings.bubblzz-bookings .pgb-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #bookings.bubblzz-bookings .pgb-metric { grid-template-columns:1fr auto; }
  #bookings.bubblzz-bookings .pgb-metric strong { grid-column:2; grid-row:1 / 3; }
  #bookings.bubblzz-bookings .pgb-person-actions button { min-height:42px; }
  #bookings.bubblzz-bookings .pgb-roster { scroll-margin-top:20px; }
}
@media(max-width:520px) {
  #bookings.bubblzz-bookings .pgb-heading h2 { font-size:19px; }
  #bookings.bubblzz-bookings .pgb-heading p { font-size:12px; }
  #bookings.bubblzz-bookings .pgb-metric { padding:10px; gap:5px; }
  #bookings.bubblzz-bookings .pgb-metric strong { font-size:23px; }
  #bookings.bubblzz-bookings .pgb-metric small { font-size:9px; }
  #bookings.bubblzz-bookings .pgb-date-label { flex-basis:100%; }
  #bookings.bubblzz-bookings .pgb-filters { padding:0 12px 12px; grid-template-columns:1fr 1fr; }
  #bookings.bubblzz-bookings .pgb-week-strip { padding:8px 6px; gap:2px; }
  #bookings.bubblzz-bookings .pgb-week-strip button { padding:7px 3px; }
  #bookings.bubblzz-bookings .pgb-context { padding:12px; }
  #bookings.bubblzz-bookings .pgb-context span { flex-basis:100%; order:3; }
  #bookings.bubblzz-bookings .bzb-settings { flex-direction:column; align-items:stretch; text-align:center; }
  #bookings.bubblzz-bookings .pgb-dialog :is(input,select,textarea) { font-size:16px; }
}
