/* Private calendar controls measured against the pinned v16 reference. */
.booking-cabinet .ab-content:has(> .ab-calendar-toolbar) > .ab-title-row [data-ab-action="staff-booking-open"] {
  min-height: 40px;
  padding: 7px 12px;
  gap: 0;
  font-size: 12px;
  line-height: 1.3;
}
.booking-cabinet .ab-content:has(> .ab-calendar-toolbar) > .ab-title-row [data-ab-action="staff-booking-open"] svg {
  width: 11px;
  height: 12px;
  flex: 0 0 11px;
}
.booking-cabinet .ab-calendar-toolbar {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px 12px;
  align-items:center;
}
.booking-cabinet .ab-calendar-create { justify-self:end; }
.booking-cabinet .ab-calendar-create .ab-action { min-height:40px; padding:7px 12px; font-size:12px; gap:4px; }
.booking-cabinet .ab-calendar-create svg { width:12px; height:12px; flex-basis:12px; }
.booking-cabinet .ab-section-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:42px; gap:8px 12px; margin:0 0 12px; }
.booking-cabinet .ab-section-actions,.booking-cabinet .ab-section-tools { display:flex; align-items:center; gap:8px; min-width:0; margin:0; }
.booking-cabinet .ab-section-toolbar .ab-action { min-height:40px; padding:7px 12px; font-size:12px; line-height:1.3; }
.booking-cabinet .ab-section-toolbar .ab-action--icon { width:40px; padding:8px; flex:none; }
.booking-cabinet .ab-section-toolbar .ab-section-tools svg { width:18px; height:18px; }
.booking-cabinet .ab-today-heading.ab-section-toolbar .ab-today-date { margin:0; font-size:18px; line-height:1.35; font-weight:700; }
.booking-cabinet .ab-clients-toolbar .ab-client-search { min-width:0; max-width:660px; margin:0; min-height:42px; padding:0 3px 0 10px; gap:4px; }
.booking-cabinet .ab-clients-toolbar .ab-client-search input { min-height:40px; }
.booking-cabinet .ab-clients-toolbar .ab-client-search button { min-height:36px; padding:6px 10px; font-size:12px; }
.booking-cabinet .ab-calendar-period .ab-period {
  min-width: 92px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}
.booking-cabinet .ab-calendar-period > .ab-icon,
.booking-cabinet .ab-calendar-period .ab-date-picker,
.booking-cabinet .ab-calendar-period .ab-date-toggle {
  width: 42px;
  min-width: 42px;
  max-width: 42px;
  height: 42px;
  min-height: 42px;
  flex: 0 0 42px;
}
.booking-cabinet .ab-calendar-period > [data-ab-action="calendar-today"] {
  min-height: 40px;
  margin-left: 6px;
  padding: 8px 12px;
  font-size: 14px;
  color: #31343a;
}
.booking-cabinet .ab-calendar-toolbar > .ab-segment {
  gap: 18px;
  /* Keep the reference cap at normal text size and allow enlarged labels. */
  max-width: max(420px, 26.25em);
}
.booking-cabinet .ab-calendar-toolbar > .ab-segment button {
  flex: 1 1 0;
  min-width: 0;
  min-height: 42px;
  padding: 10px 14px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: normal;
}
.booking-cabinet .ab-calendar-toolbar > .ab-segment button:not([aria-pressed="true"]) {
  color: #777d85;
}
.booking-cabinet .ab-calendar-filter-row select {
  height: auto;
  min-height: 44px;
  padding: 9px 12px;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2331343a' stroke-width='1.8'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  padding-right: 38px;
  appearance: none;
  line-height: 1.35;
  font-size: 14px;
  font-weight: 500;
}
.booking-cabinet .ab-calendar-filter-row > [data-ab-action="toggle-filters"] svg {
  width: 22px;
  height: 22px;
  flex-basis: 22px;
}
.booking-cabinet .ab-calendar-meta,
.booking-cabinet .ab-content:has(> .ab-calendar-toolbar) > p.ab-muted {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.5;
  color: #606b78;
}
.booking-cabinet .ab-time-heading {
  justify-content: center;
  text-align: center;
}
.booking-cabinet .ab-time-corner {
  padding: 10px 1px;
  text-align: center;
  color: #939aa4;
}
.booking-cabinet .ab-time-heading--today {
  color: #bc4b12;
  font-weight: 500;
}
.booking-cabinet .ab-current-time {
  background: #e8590c8c;
  z-index: 4;
}
.booking-cabinet .ab-current-time::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e8590c;
  transform: translate(-3px, -2.5px);
}
.booking-cabinet .ab-hour-label {
  line-height: 1;
  transform: translateY(-2px);
}
.booking-cabinet .ab-time-column {
  background: repeating-linear-gradient(to bottom,
    transparent 0,
    transparent calc(var(--ab-hour-height) / 2 - 1px),
    #f7f8f9 calc(var(--ab-hour-height) / 2 - 1px),
    #f7f8f9 calc(var(--ab-hour-height) / 2),
    transparent calc(var(--ab-hour-height) / 2),
    transparent calc(var(--ab-hour-height) - 1px),
    #eceef1 calc(var(--ab-hour-height) - 1px),
    #eceef1 var(--ab-hour-height));
}
.booking-cabinet .ab-calendar-grid-meta {
  align-items: flex-start;
}
.booking-cabinet .ab-calendar-grid-meta .ab-calendar-scroll-hint {
  display: block;
  flex: 1 1 100%;
  font-size: 13px;
  line-height: 1.5;
}
.booking-cabinet .ab-calendar-scroll-hint svg {
  display: none;
}
.booking-cabinet .ab-month-day {
  font-weight: 500;
}
@media (min-width:769px) and (max-width:1100px) {
  .booking-cabinet .ab-calendar-toolbar { grid-template-columns:minmax(0,1fr) auto; }
  .booking-cabinet .ab-calendar-toolbar > .ab-segment { grid-column:1/-1; grid-row:2; max-width:none; }
  .booking-cabinet .ab-calendar-create { grid-column:2; grid-row:1; }
}
@media (max-width: 768px) {
  .booking-cabinet .ab-section-toolbar { min-height:44px; gap:8px; }
  .booking-cabinet .ab-today-heading.ab-section-toolbar .ab-today-date { font-size:15px; }
  .booking-cabinet .ab-section-toolbar .ab-section-actions { display:contents; }
  .booking-cabinet .ab-section-toolbar .ab-section-tools { grid-row:2; grid-column:1/-1; }
  .booking-cabinet .ab-section-toolbar .ab-calendar-create { grid-column:2; grid-row:1; }
  .booking-cabinet .ab-clients-toolbar .ab-client-search input { font-size:16px; }
  .booking-cabinet .ab-calendar-toolbar { grid-template-columns:minmax(0,1fr) auto; }
  .booking-cabinet .ab-calendar-toolbar > .ab-segment { grid-column:1/-1; grid-row:2; }
  .booking-cabinet .ab-calendar-create { grid-column:2; grid-row:1; }
  .booking-cabinet .ab-calendar-period {
    justify-content: flex-start;
    gap: 0;
    flex-wrap:nowrap;
  }
  .booking-cabinet .ab-calendar-period .ab-period {
    flex:1 1 auto;
    min-width:0;
    max-width:none;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:15px;
  }
  .booking-cabinet .ab-calendar-period > .ab-icon,
  .booking-cabinet .ab-calendar-period .ab-date-picker,
  .booking-cabinet .ab-calendar-period .ab-date-toggle {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
    height: 44px;
    min-height: 44px;
    flex-basis: 30px;
  }
  .booking-cabinet .ab-calendar-period > [data-ab-action="calendar-today"] {
    min-height: 44px;
    margin-left: auto;
    padding:7px 4px;
    font-size:12px;
  }
  .booking-cabinet .ab-calendar-toolbar > .ab-segment {
    gap: 0;
    max-width: none;
  }
  .booking-cabinet .ab-calendar-toolbar > .ab-segment button {
    min-width: 0;
    min-height: 44px;
    padding: 9px 5px;
    overflow-wrap: anywhere;
  }
  .booking-cabinet .ab-calendar-filter-row select {
    height: auto;
    min-height: 44px;
    padding: 9px 8px;
    padding-right: 34px;
    background-position: right 8px center;
    font-size: 14px;
  }
  .booking-cabinet .ab-calendar-meta,
  .booking-cabinet .ab-content:has(> .ab-calendar-toolbar) > p.ab-muted {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  .booking-cabinet .ab-calendar-toolbar {
    row-gap: 6px;
  }
}
/* Calendar navigation, view, filters and creation share the desktop toolbar. */
.booking-cabinet .ab-calendar-toolbar { grid-template-columns:minmax(220px,1fr) auto auto auto; gap:6px 10px; margin-bottom:8px; }
.booking-cabinet .ab-calendar-toolbar > .ab-segment { grid-column:auto; grid-row:auto; max-width:none; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row { display:flex; align-items:center; gap:6px; margin:0; min-width:0; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-field { margin:0; width:146px; min-width:0; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-field:has(#ab-filter-performer) { width:166px; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row select { min-height:40px; font-size:12px; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-v16-select-button { min-height:40px; font-size:12px; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-period { min-width:0; }
.booking-cabinet .ab-calendar-toolbar .ab-period { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.booking-cabinet .ab-finance-ledger { margin:14px 0 0; font-size:13px; }
.booking-cabinet .ab-finance-ledger > summary { min-height:40px; display:flex; align-items:center; color:var(--ab-muted); cursor:pointer; }
.booking-cabinet .ab-finance-ledger > summary::before { content:'›'; margin-right:8px; font-size:18px; }
.booking-cabinet .ab-finance-ledger[open] > summary::before { transform:rotate(90deg); }
@media(max-width:1100px) and (min-width:769px) {
 .booking-cabinet .ab-calendar-toolbar { grid-template-columns:minmax(210px,1fr) auto auto; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row { grid-column:2 / 4; justify-content:flex-end; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-create { grid-column:3; grid-row:1; }
 .booking-cabinet .ab-calendar-toolbar > .ab-segment { grid-column:2; grid-row:1; }
}
@media(max-width:768px) {
 .booking-cabinet .ab-calendar-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(156px,.76fr); gap:6px; padding-top:6px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-period { grid-column:1 / -1; grid-row:1; padding-right:96px; gap:3px; }
 .booking-cabinet .ab-calendar-toolbar .ab-period { font-size:14px; flex:1; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-create { position:absolute; right:0; top:6px; }
 .booking-cabinet .ab-calendar-toolbar > .ab-segment { grid-column:1; grid-row:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
 .booking-cabinet .ab-calendar-toolbar > .ab-segment button { padding:7px 2px; font-size:11px; min-width:0; min-height:40px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row { grid-column:2; grid-row:2; gap:4px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-field { width:auto; flex:1; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-v16-select-button { padding:8px; gap:4px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-v16-select-button > svg { width:14px; height:14px; flex-basis:14px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-icon { flex:0 0 40px; width:40px; min-width:40px; }
 .booking-cabinet .ab-calendar-toolbar.ab-calendar-has-performers > .ab-segment { grid-column:1 / -1; }
 .booking-cabinet .ab-calendar-toolbar.ab-calendar-has-performers .ab-calendar-filter-row { grid-column:1 / -1; grid-row:3; }
 .booking-cabinet .ab-calendar-toolbar.ab-calendar-has-performers .ab-calendar-filter-row .ab-field { width:auto; }
}
@media(max-width:360px) {
 .booking-cabinet .ab-calendar-toolbar { grid-template-columns:minmax(0,1fr) auto; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-period { padding-right:0; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-create { position:static; grid-column:2; grid-row:2; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row { grid-column:1 / -1; grid-row:3; }
 .booking-cabinet .ab-calendar-toolbar.ab-calendar-has-performers > .ab-segment { grid-column:1; }
}
/* Calendar arrows stay bare for pointer/touch; keyboard focus remains visible. */
.booking-cabinet :is([data-ab-action="calendar-prev"],[data-ab-action="calendar-next"],[data-ab-action="schedule-prev"],[data-ab-action="schedule-next"],[data-ab-action="date-picker-month"]):is(:hover,:active,:focus) { background:transparent; border-color:transparent; box-shadow:none; transform:none; }
.booking-cabinet .ab-settings-session { order:5; grid-column:1 / -1; display:flex; justify-content:flex-end; padding:20px 0 4px; }
.booking-cabinet .ab-settings-session [data-account-logout] { min-height:44px; padding:9px 18px; border:1px solid var(--ab-line); border-radius:12px; background:transparent; box-shadow:none; }
/* Date and time share the same generous sheet as booking creation. */
.booking-cabinet .ab-dialog.ab-reschedule-dialog[data-visit-frame] { width:min(560px,calc(100vw - 24px)); height:min(720px,calc(100dvh - 32px)); }
.booking-cabinet .ab-reschedule-dialog[data-visit-frame] .ab-dialog-inner { height:100%; max-height:100%; }
.booking-cabinet .ab-reschedule-dialog .ab-visit-frame-body { flex:1; overflow:hidden; }
.booking-cabinet .ab-reschedule-dialog #ab-reschedule-slots { flex:1 1 auto; min-height:80px; overflow:auto; overscroll-behavior-y:contain; align-content:start; }
.booking-cabinet .ab-reschedule-dialog .ab-reschedule-summary { margin:0 0 10px; }
@media(max-width:768px) {
 .booking-cabinet .ab-settings-session { padding-bottom:90px; }
 .booking-cabinet .ab-calendar-toolbar { position:relative; top:auto; z-index:auto; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row #ab-filter-status-v16-button { width:max-content; max-width:100%; border:0; padding:8px 4px; background:transparent; gap:5px; justify-content:flex-start; box-shadow:none; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row #ab-filter-status-v16-button .ab-v16-select-value { flex:0 1 auto; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row #ab-filter-status { border:0; background-color:transparent; }
 .booking-cabinet .account-booking .ab-time-scroll { overscroll-behavior-x:contain; margin-inline:calc((100% - 100vw) / 2); width:100vw; max-width:100vw; }
 .booking-cabinet .ab-calendar.ab-calendar--month { margin-inline:calc((100% - 100vw) / 2); width:100vw; }
 .booking-cabinet .ab-dialog.ab-reschedule-dialog[data-visit-frame] { width:100%; max-width:100%; height:90dvh; max-height:90dvh; inset:auto 0 0; margin:0; border-radius:20px 20px 0 0; }
 .booking-cabinet .ab-reschedule-dialog[data-visit-frame] .ab-dialog-inner { padding-bottom:calc(16px + env(safe-area-inset-bottom,0px)); }
}
/* One payment form and a stable, right-aligned action row. */
.booking-cabinet .ab-finance-visit-dialog .ab-finance-footer { justify-content:flex-end; gap:8px; }
.booking-cabinet .ab-finance-visit-dialog .ab-finance-footer .ab-action--primary { margin-left:0; min-width:160px; border:0; box-shadow:none; }
.booking-cabinet .ab-finance-visit-dialog .ab-finance-back { width:44px; min-width:44px; padding:10px; border:0; background:transparent; box-shadow:none; }
.booking-cabinet .ab-finance-back:is(:hover,:active,:focus) { background:transparent; border-color:transparent; box-shadow:none; transform:none; }
.booking-cabinet .ab-finance-price { margin:0 0 12px; }
.booking-cabinet .ab-finance-history { margin:12px 0 0; }
.booking-cabinet .ab-finance-history > summary { display:flex; align-items:center; min-height:40px; color:var(--ab-muted); font-size:13px; cursor:pointer; }
.booking-cabinet .ab-finance-history > summary::before { content:'›'; padding-right:8px; }
.booking-cabinet .ab-finance-history[open] > summary::before { content:'⌄'; }
.booking-cabinet .ab-payment-mark { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin:0; }
.booking-cabinet .ab-payment-mark .ab-field { margin:0; font-size:13px; }
.booking-cabinet .ab-payment-mark select { margin-top:6px; height:44px; font-size:14px; }
.booking-cabinet .ab-payment-received { display:flex; align-items:center; gap:8px; font-size:14px; min-height:44px; }
.booking-cabinet .ab-payment-received input { width:18px; height:18px; accent-color:#171717; }
.booking-cabinet .ab-finance-visit-dialog .ab-field input:focus { outline:none; box-shadow:none; border-color:#8f9daa; }
.booking-cabinet .ab-reschedule-dialog .ab-reschedule-summary { white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }

/* Reset stays beside the filters and never counts the selected salon. */
.booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row > .ab-calendar-reset { display:inline-flex; flex:0 0 28px; align-items:center; justify-content:center; width:28px; min-width:28px; height:32px; min-height:32px; padding:5px; border:0; border-radius:9px; background:#f1f2f4; color:#737b86; box-shadow:none; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-reset svg { width:16px; height:16px; }
@media(max-width:768px) {
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row { flex-wrap:nowrap; gap:2px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-field { min-width:0; flex:1; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row > .ab-icon { flex-basis:32px; width:32px; min-width:32px; padding:6px; }
 .booking-cabinet .ab-calendar-filter-row .ab-v16-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; }
}

/* Both filters belong together before the calendar view tabs. */
.booking-cabinet .ab-calendar-toolbar { grid-template-columns:minmax(180px,1fr) auto auto auto; gap:6px 12px; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-period { grid-column:1; grid-row:1; }
.booking-cabinet .ab-calendar-filters { grid-column:2; grid-row:1; display:flex; align-items:center; gap:8px; min-width:0; margin:0; }
.booking-cabinet .ab-calendar-performer { min-width:0; width:166px; }
.booking-cabinet .ab-calendar-performer .ab-field { margin:0; min-width:0; }
.booking-cabinet .ab-calendar-performer :is(select,.ab-v16-select-button) { width:100%; min-height:40px; font-size:12px; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row { grid-column:auto; grid-row:auto; }
.booking-cabinet .ab-calendar-toolbar > .ab-segment { grid-column:3; grid-row:1; }
.booking-cabinet .ab-calendar-toolbar .ab-calendar-create { grid-column:4; grid-row:1; }
@media(min-width:769px) and (max-width:1100px) {
 .booking-cabinet .ab-calendar-toolbar { grid-template-columns:minmax(140px,1fr) auto auto auto; gap:6px; }
 .booking-cabinet .ab-calendar-performer { width:120px; }
 .booking-cabinet .ab-calendar-toolbar > .ab-segment button { padding:8px 6px; font-size:11px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-field { width:100px; }
}
/* Mobile: status stays with the date; specialist and views share the next row. */
@media(max-width:768px) {
 .booking-cabinet .ab-calendar-toolbar { position:relative; grid-template-columns:clamp(90px,28vw,120px) minmax(0,1fr); gap:8px; padding-top:6px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-period { grid-column:1/-1; grid-row:1; min-height:38px; padding-right:166px; gap:0; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-period .ab-period { font-size:12px; min-width:0; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-period > .ab-icon,
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-period :is(.ab-date-picker,.ab-date-toggle) { width:23px; min-width:23px; max-width:23px; flex-basis:23px; padding-inline:2px; }
 .booking-cabinet .ab-calendar-toolbar [data-ab-action="calendar-today"] { flex:0 0 auto; min-width:0; margin:0; padding:6px 3px; font-size:10px; }
 .booking-cabinet .ab-calendar-filters { display:contents; }
 .booking-cabinet .ab-calendar-performer { grid-column:1; grid-row:2; width:100%; min-width:0; }
 .booking-cabinet .ab-calendar-performer :is(select,.ab-v16-select-button) { min-width:0; min-height:38px; padding:6px; gap:3px; font-size:10px; border:0; border-radius:10px; background:#fff; box-shadow:0 1px 5px #242c3814; justify-content:flex-start; }
 .booking-cabinet .ab-calendar-performer .ab-v16-select-value { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
 .booking-cabinet .ab-calendar-performer .ab-v16-select-button > svg { width:11px; height:11px; flex:0 0 11px; }
 .booking-cabinet .ab-calendar-toolbar > .ab-segment { grid-column:2; grid-row:2; gap:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
 .booking-cabinet .ab-calendar-toolbar > .ab-segment button { min-width:0; padding:6px 1px; font-size:11px; white-space:nowrap; overflow:visible; text-overflow:clip; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row { position:absolute; top:8px; right:82px; display:flex; flex-wrap:nowrap; gap:2px; min-width:0; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row .ab-field { flex:0 0 80px; width:80px; min-width:0; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row #ab-filter-status-v16-button { box-sizing:border-box; width:100%; min-width:0; min-height:38px; padding:6px 1px; gap:2px; justify-content:flex-start; font-size:10px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row #ab-filter-status-v16-button .ab-v16-select-value { display:block; flex:0 1 auto; min-width:0; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row #ab-filter-status-v16-button > svg { display:block; width:10px; height:10px; flex:0 0 10px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row #ab-filter-status-v16-button::before { content:none; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-filter-row > .ab-calendar-reset { flex-basis:22px; width:22px; min-width:22px; }
 .booking-cabinet .ab-calendar-toolbar:has(.ab-calendar-reset) .ab-calendar-period { padding-right:190px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-create { position:absolute; right:0; top:8px; grid-column:auto; grid-row:auto; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-create > button { box-sizing:border-box; max-width:76px; min-height:38px; padding:6px 8px; font-size:11px; }
 .booking-cabinet .ab-calendar-toolbar .ab-calendar-create > button > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .booking-cabinet .ab-calendar-filters .ab-v16-select:not(.ab-v16-select--native) { overflow:hidden; border-radius:10px; }
 .booking-cabinet .ab-calendar-filters .ab-v16-select:has(button:focus-visible) { outline:1px solid #8d949d; outline-offset:2px; }
 .booking-cabinet .ab-calendar-toolbar:not(:has(.ab-calendar-performer)) > .ab-segment { grid-column:1/-1; }
}
@media(max-width:360px) {
 .booking-cabinet .ab-calendar-toolbar [data-ab-action="calendar-today"] { width:22px; min-width:22px; padding:0; font-size:0; }
 .booking-cabinet .ab-calendar-toolbar [data-ab-action="calendar-today"]::before { content:'↺'; font-size:17px; }
 .booking-cabinet .ab-calendar-toolbar > .ab-segment button { font-size:10px; }
}

/* Today is a quiet return action, without a hover/tap surface. */
.booking-cabinet .ab-calendar-toolbar [data-ab-action="calendar-today"]:is(:hover,:active,:focus) { background:transparent; border-color:transparent; box-shadow:none!important; }
