.staff-head:is(button){border:0;border-right:1px solid var(--line);cursor:pointer;color:var(--ink);font-family:Montserrat,sans-serif}.staff-head:is(button):hover{background:#fff7f5}
.datebar>.datebar-period{flex:1}.datebar>.date-controls{align-items:center;flex:0 0 auto}.date-controls .today-action{background:transparent;border:1px solid var(--line);padding:7px 10px;color:var(--muted);font-size:11px}@media(max-width:720px){.datebar>.datebar-period{order:-1;flex-basis:100%}.datebar>.date-controls{order:0;flex:1 1 auto;flex-basis:auto}.date-controls .today-action{flex:1}}
.staff-head.closed,.month-cell.closed{background:repeating-linear-gradient(135deg,#fff4f1,#fff4f1 8px,#f7e4e0 8px,#f7e4e0 16px);color:#923c35}.staff-cell.off .day-event{opacity:1}.worker-closed{background:#fde8e5;color:#923c35}
.booking-parameter{display:grid;gap:6px;margin:0;padding:0;border:0}.booking-parameter legend{margin-bottom:6px;font-size:11px;color:var(--muted)}.booking-parameter select{width:100%}.booking-parameter label{display:flex;grid-template-columns:none;align-items:center;gap:8px;min-height:36px;color:var(--ink)}
.service-search{margin-bottom:8px}.booking-catalog-list{display:grid;gap:8px}.booking-catalog-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.booking-catalog-item>div{min-width:0}.booking-catalog-item strong{display:block;font-size:14px}.booking-catalog-item span{color:var(--muted);font-size:12px}.service-toggle{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:12px;background:#eee5df;color:var(--ink);font:700 22px/1 Montserrat;cursor:pointer}.service-toggle.is-added{background:#eafff0;border-color:#8fd6a3;color:#1f7a3c}
.cart-breakdown{display:grid;gap:4px;margin:8px 0 0;padding:0;list-style:none;font-size:12px;color:var(--muted)}
.parameter-service-heading{margin:10px 0 2px;font-size:12px;font-weight:700;color:var(--ink)}

/* Desktop keeps related filters and commands in one compact, wrapping toolbar. */
@media(min-width:721px){
  .filters{flex-wrap:wrap;align-items:flex-end;gap:12px}
  .filters .schedule-page-actions{display:flex;margin:0 0 0 auto;gap:8px;flex-wrap:wrap}
  .filters .schedule-page-actions button{min-height:44px}
  .filters .schedule-page-actions .primary{background:#c43d34}
  .filters .view-switch{margin-left:0}
  body[data-calendar-view="day"] .mobile-date-strip{display:grid;grid-template-columns:repeat(var(--date-count,15),minmax(44px,1fr));gap:4px;margin:12px 0}
  .mobile-date-strip button{min-width:44px;min-height:48px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:500 12px Montserrat,sans-serif;cursor:pointer}
  .mobile-date-strip button span,.mobile-date-strip button strong{display:block}
  .mobile-date-strip button strong{font-size:16px}
  .mobile-date-strip button.selected{background:#c43d34;border:2px solid #3c2f2c;color:#fff}
  .mobile-date-strip button.today:not(.selected){box-shadow:inset 0 0 0 1px #c43d34}
  .mobile-date-strip button:focus-visible{outline:3px solid #3c2f2c;outline-offset:2px}
  body:not([data-calendar-view="day"]) .mobile-date-strip{display:none}
}

.staff-cell.partial-shift{background:linear-gradient(to bottom,transparent var(--work-start),#fff var(--work-start),#fff var(--work-end),transparent var(--work-end)),repeating-linear-gradient(135deg,#faf7f5,#faf7f5 8px,#f5f0ed 8px,#f5f0ed 16px)}
