/* V224 Groomer calendar: MoeGo-inspired visual structure, preserving existing booking and drag handlers. */
body:has(#sideNav) #workspace.pp-v224-groomer-calendar .pp-cal-head{background:#fff!important;border:1px solid #dce5e0!important;border-radius:14px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-head .pp-cal-heading h2{font-size:25px!important;letter-spacing:-.03em!important}
#workspace.pp-v224-groomer-calendar .pp-cal-range-switcher{background:#eaf0ed!important;border-radius:10px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-range-switcher .btn{font-weight:700!important}
#workspace.pp-v224-groomer-calendar .pp-v220-week-shell{background:#fff!important;border:1px solid #dce5e0!important;border-radius:14px!important;padding:8px!important}
#workspace.pp-v224-groomer-calendar .pp-v220-week-grid{gap:1px!important;background:#e2e9e5!important;grid-template-columns:repeat(7,minmax(170px,1fr))!important}
#workspace.pp-v224-groomer-calendar .pp-v220-week-panel{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
#workspace.pp-v224-groomer-calendar .pp-v220-week-panel .pp-v220-day-head{position:sticky;top:0;z-index:2;background:#f5f8f6!important;border-bottom:2px solid #dce7df!important;padding:12px!important;min-height:65px}
#workspace.pp-v224-groomer-calendar .pp-v220-week-panel .pp-v220-day-head h3{font-size:14px!important;font-weight:800!important}
#workspace.pp-v224-groomer-calendar .pp-cal-appointment{border-radius:8px!important;box-shadow:0 1px 3px rgba(22,47,32,.08)!important;transition:box-shadow .12s ease!important}
#workspace.pp-v224-groomer-calendar .pp-cal-appointment:focus-visible{outline:3px solid #bd9b50!important;outline-offset:2px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-appointment:hover{box-shadow:0 3px 10px rgba(22,47,32,.16)!important}
#workspace.pp-v224-groomer-calendar .pp-cal-day-timeline{border-radius:12px!important}
#workspace.pp-v224-groomer-calendar .pp-v220-month-grid button.item{border-radius:7px!important}
@media(max-width:740px){
 #workspace.pp-v224-groomer-calendar .pp-v220-week-grid{display:block!important;background:transparent!important}
 #workspace.pp-v224-groomer-calendar .pp-v220-week-panel{display:none!important}
 #workspace.pp-v224-groomer-calendar .pp-v220-week-panel.is-selected{display:block!important}
 #workspace.pp-v224-groomer-calendar .pp-v220-week-tabs{display:grid!important}
 #workspace.pp-v224-groomer-calendar .pp-v220-week-panel .pp-v220-day-head{position:static;min-height:0}
}
@media(prefers-reduced-motion:reduce){#workspace.pp-v224-groomer-calendar .pp-cal-appointment{transition:none!important}}
/* V224 mobile: compact professional timetable; preserve full-size touch targets on booked slots. */
@media(max-width:740px){
#workspace.pp-v224-groomer-calendar .pp-cal-head{padding:12px!important;margin-bottom:10px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-heading h2{font-size:21px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-heading .muted{font-size:12px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-range-switcher{margin:9px 0!important;width:100%!important}
#workspace.pp-v224-groomer-calendar .pp-cal-range-switcher .btn{flex:1!important;min-height:35px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-nav{padding-top:8px!important;gap:6px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-nav .btn{min-height:35px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-day-timeline .pp-v136-slot-row{min-height:54px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-day-timeline .pp-v136-slot-row .section-title{min-height:54px!important;grid-template-columns:60px minmax(0,1fr)!important}
#workspace.pp-v224-groomer-calendar .pp-cal-day-timeline .pp-v136-slot-row .section-title>b{padding:8px 2px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-day-timeline .pp-v136-slot-row.is-booked{min-height:88px!important}
#workspace.pp-v224-groomer-calendar .pp-cal-day-timeline .pp-v136-slot-row.is-booked .section-title{min-height:88px!important}
#workspace.pp-v224-groomer-calendar .pp-v220-week-shell{padding:6px!important}
#workspace.pp-v224-groomer-calendar .pp-v220-day-tab{min-height:54px!important}
}

/* Actual weekly timetable with aligned half-hour rows. */
#workspace.pp-v224-groomer-calendar .pp-v224-week-timeline{display:flex;flex-direction:column}
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot{display:grid;grid-template-columns:46px minmax(0,1fr);min-height:62px;border-bottom:1px solid #e7ece8;background:#fff}
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot:nth-child(even){background:#fafbf9}
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot>small{padding:8px 2px;color:#6b7b72;background:#f2f5f2;border-right:1px solid #e4eae4;font-size:10px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot-content{min-width:0;padding:3px}
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot .pp-cal-appointment{margin:0!important;max-width:100%!important}
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot .item{margin:0!important;max-width:100%!important;overflow-wrap:anywhere}
#workspace.pp-v224-groomer-calendar .pp-v224-ongoing{display:block;font-size:10px;color:#65796c;padding:8px 3px}
@media(max-width:740px){
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot{grid-template-columns:65px minmax(0,1fr);min-height:60px}
#workspace.pp-v224-groomer-calendar .pp-v224-week-slot>small{font-size:12px}
}
