/* Compact v16 schedule forms. Writes still use the versioned resource editor. */
.booking-cabinet .ab-title-row > [data-ab-action="schedule-tools-open"] { line-height:1.3; }
.booking-cabinet .ab-schedule-toolbar { margin-bottom:12px; }
.booking-cabinet .ab-schedule-tools-body { display:block; }
.booking-cabinet .ab-schedule-tools-stack { display:grid; gap:12px; }
.booking-cabinet .ab-schedule-tools-stack > .ab-action { min-height:44px; padding:9px 14px; font-size:13px; font-weight:500; line-height:1.3; border-radius:10px; }
.booking-cabinet .ab-schedule-compact { min-width:0; }
.booking-cabinet .ab-schedule-compact .ab-dialog-heading h2 { letter-spacing:-.025em; }
.booking-cabinet :is(.ab-schedule-compact,.ab-schedule-tools-heading) .ab-dialog-heading > .ab-action--icon,
.booking-cabinet .ab-schedule-tools-heading > .ab-action--icon { display:grid; place-items:center; gap:normal; padding:10px; font-size:16px; line-height:1.5; border-radius:8px; color:#1a1a1a; }
.booking-cabinet .ab-schedule-compact-form { min-width:0; }
.booking-cabinet .ab-schedule-compact .ab-field { display:grid; gap:6px; margin:15px 0; }
.booking-cabinet .ab-schedule-compact .ab-field > span { color:#646b74; font-size:14px; font-weight:400; line-height:1.5; }
.booking-cabinet .ab-schedule-compact :is(.ab-field input,.ab-field select,.ab-schedule-weekly-fields > div > input) { width:100%; min-width:0; max-width:100%; min-height:48px; padding:11px 13px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; color:var(--text-primary); font-size:16px; font-weight:400; line-height:1.5; }
.booking-cabinet .ab-schedule-compact :is(.ab-field input,.ab-field select,.ab-schedule-weekly-fields input):focus-visible { outline:2px solid #2563a6; outline-offset:3px; }
.booking-cabinet .ab-schedule-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.booking-cabinet .ab-schedule-compact .ab-schedule-day-caption { margin:0; font-size:16px; line-height:1.5; color:#1a1a1a; }
.booking-cabinet .ab-schedule-compact .ab-schedule-day-caption b { font-weight:700; }
.booking-cabinet .ab-schedule-compact .ab-muted { margin:0; font-size:13px; line-height:1.5; color:#6b7280; }
.booking-cabinet .ab-schedule-more { border-top:1px solid #e5e7eb; margin-top:20px; font-size:14px; }
.booking-cabinet .ab-schedule-more > summary { min-height:50px; padding:13px 0; cursor:pointer; font-size:14px; line-height:1.5; }
.booking-cabinet .ab-schedule-compact-foot { display:flex; gap:10px; margin-top:24px; flex-wrap:wrap; }
.booking-cabinet .ab-schedule-compact-foot > .ab-action { min-height:40px; padding:7px 12px; font-size:12px; font-weight:500; line-height:1.3; border-radius:10px; }
.booking-cabinet .ab-schedule-compact--day .ab-schedule-compact-foot > .ab-action { font-size:14px; }
.booking-cabinet .ab-schedule-publish-foot > .ab-action { min-height:44px; font-size:14px; }
.booking-cabinet .ab-schedule-publish-foot > .ab-action { padding:9px 14px; }
.booking-cabinet .ab-schedule-compact--day .ab-schedule-compact-foot > .ab-action,
.booking-cabinet .ab-schedule-publish-foot > .ab-action { flex:1; }
.booking-cabinet .ab-schedule-compact--day .ab-schedule-compact-foot > .ab-action:not(.ab-action--primary) { border-color:transparent; background:transparent; }
.booking-cabinet .ab-schedule-compact:not(.ab-schedule-compact--day) .ab-schedule-compact-foot { margin-top:16px; }
.booking-cabinet .ab-schedule-weekly-fields { display:grid; gap:8px; }
.booking-cabinet .ab-schedule-weekly-fields > div { display:grid; grid-template-columns:65px minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:center; }
.booking-cabinet .ab-schedule-weekly-fields > div > label { display:flex; align-items:flex-start; gap:10px; padding:12px 0; font-size:14px; }
.booking-cabinet .ab-schedule-weekly-fields input[type="checkbox"] { width:19px; height:19px; flex:0 0 auto; margin:2px 0; accent-color:#111; }
.booking-cabinet .ab-schedule-compact .ab-schedule-effective { margin-top:8px; }
.booking-cabinet .ab-schedule-compact .ab-schedule-publish-name { margin:0; font-size:16px; line-height:1.5; color:#1a1a1a; }
.booking-cabinet .ab-schedule-compact .ab-schedule-current-horizon { margin-top:12px; color:#6b7280; }
.booking-cabinet .ab-schedule-compact .ab-schedule-publish-note { padding:14px 16px; background:transparent; border-radius:0; border-bottom:1px solid #e5e7eb; font-size:14px; line-height:1.5; color:#1a1a1a; margin:16px 0 0; }
.booking-cabinet .ab-schedule-compact.ab-schedule-compact--publish .ab-schedule-compact-foot { padding-top:16px; border-top:1px solid #e5e7eb; margin-top:20px; }
.booking-cabinet .ab-schedule-compact .ab-notice { margin:8px 0 0; }
.booking-cabinet .ab-schedule-advanced { margin-top:24px; }
.booking-cabinet .ab-schedule-advanced > .ab-action { margin-top:12px; }
.booking-cabinet .ab-schedule-publication { display:grid; gap:8px; margin:12px 0; }
.booking-cabinet .ab-schedule-publication-row { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; line-height:1.5; min-width:0; }
.booking-cabinet .ab-schedule-publication-row > span { min-width:0; overflow-wrap:anywhere; }
.booking-cabinet .ab-schedule-publication-row > .ab-action { flex-shrink:0; min-height:44px; padding:7px 0; border-color:transparent; background:transparent; box-shadow:none; font-size:12px; line-height:1.3; }
.booking-cabinet .ab-schedule-table-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:12px 0; }
.booking-cabinet .ab-schedule-table-foot > .ab-muted { margin:0; font-size:13px; }
.booking-cabinet .ab-schedule-table-foot > .ab-shift-legend { margin:0; }
.booking-cabinet .ab-schedule-resources { margin-top:20px; }
.booking-cabinet .ab-schedule-resources > summary { min-height:44px; padding:12px 0; cursor:pointer; font-size:14px; }
.booking-cabinet .ab-schedule-resources > .ab-title-row { margin-top:12px; }
@media(max-width:768px) {
 .booking-cabinet .ab-schedule-toolbar { margin-bottom:10px; }
 .booking-cabinet .ab-schedule-weekly-fields > div { grid-template-columns:48px minmax(0,1fr) minmax(0,1fr); gap:6px; }
 .booking-cabinet .ab-schedule-weekly-fields > div > label { gap:6px; }
 .booking-cabinet .ab-schedule-two { gap:10px; }
 .booking-cabinet .ab-schedule-compact--day .ab-schedule-compact-foot > .ab-action { min-height:44px; }
 .booking-cabinet .ab-schedule-publication-row { align-items:flex-start; flex-direction:column; gap:8px; }
 .booking-cabinet .ab-schedule-publication-row > .ab-action { padding:6px 0; }
}
