/* Dense private calendar overlaps use the final v16 list popover. */
.booking-cabinet .ab-time-cluster { position:absolute; z-index:2; padding:4px 5px; background:#eef3f9; color:#1a1a1a; border:1px solid #cbd9e7; border-radius:5px; display:flex; flex-direction:row; align-items:center; gap:6px; text-align:left; overflow:hidden; font-weight:500; }
.booking-cabinet .ab-time-cluster span,.booking-cabinet .ab-time-cluster small { font-size:10px; line-height:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.booking-cabinet .ab-time-cluster b { font-size:12px; font-weight:700; line-height:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.booking-cabinet .ab-time-cluster-count { flex:1; min-width:0; }
.booking-cabinet .ab-time-cluster > svg { width:14px; height:14px; flex:none; }
.booking-cabinet button.ab-calendar-cluster-row { width:100%; background:transparent; color:#1a1a1a; text-align:left; border-top:0; border-right:0; border-left-color:var(--ab-cluster-salon-color); border-radius:0; font-weight:500; }
.booking-cabinet .ab-dialog:has(.ab-calendar-cluster-rows) #ab-dialog-title { letter-spacing:-.025em; }
.booking-cabinet .ab-dialog .ab-calendar-cluster-row { align-items:center; padding:12px; }
.booking-cabinet .ab-calendar-cluster-row .ab-row-main { min-width:0; }
.booking-cabinet .ab-calendar-cluster-row .ab-row-sub { display:block; }
.booking-cabinet .ab-calendar-cluster-row .ab-row-title { font-weight:500; line-height:1.5; }
.booking-cabinet .ab-calendar-cluster-row .ab-calendar-cluster-place { display:flex; align-items:center; gap:5px; margin-top:3px; color:#4d5b69; font-size:12px; line-height:1.3; }
.booking-cabinet .ab-calendar-cluster-place::before { content:''; width:6px; height:6px; flex-shrink:0; border-radius:50%; background:var(--ab-cluster-salon-color); }
.booking-cabinet .ab-calendar-cluster-row .ab-visit-tail { text-align:right; }
.booking-cabinet .ab-calendar-cluster-row .ab-row-status { align-items:center; gap:6px; min-height:29px; margin-top:8px; padding:4px 10px; font-weight:500; line-height:1.3; }
.booking-cabinet .ab-calendar-cluster-row.ab-status-pending .ab-row-status { color:#9a571f; background:#fff1de; }
.booking-cabinet .ab-calendar-cluster-row.ab-status-confirmed .ab-row-status { color:#315f9a; background:#eaf1fb; }
.booking-cabinet .ab-calendar-cluster-row.ab-status-in_progress .ab-row-status { color:#745099; background:#f2ebfa; }
.booking-cabinet .ab-calendar-cluster-row.ab-status-completed .ab-row-status { color:#347459; background:#e9f4ed; }
.booking-cabinet .ab-calendar-cluster-row.ab-status-cancelled .ab-row-status { color:#a44339; background:#faece8; }
.booking-cabinet .ab-calendar-cluster-row.ab-status-no_show .ab-row-status { color:#9a3e6c; background:#f9e9f1; }
.booking-cabinet .ab-calendar-cluster-row.ab-status-expired .ab-row-status { color:#666e7a; background:#edf0f3; }
@media(max-width:768px) {
 .booking-cabinet .ab-dialog .ab-calendar-cluster-row { padding:10px 4px; min-height:0; }
 .booking-cabinet .ab-calendar-cluster-row .ab-row-time { font-size:14px; }
 .booking-cabinet .ab-calendar-cluster-row .ab-row-title { font-size:14px; line-height:1.35; }
 .booking-cabinet .ab-calendar-cluster-row .ab-row-sub { font-size:12px; line-height:1.35; }
 .booking-cabinet .ab-calendar-cluster-row .ab-row-status { min-height:24px; padding:3px 7px; margin-top:0; font-size:11px; }
 .booking-cabinet .ab-calendar-cluster-row .ab-visit-tail { text-align:left; }
}
