/* Calendar and booking drawer use the existing workspace design system. */
.control-center-page .owner-navigation{margin-bottom:18px}.control-center-page [data-owner-view-panel=calendar]{gap:14px}.control-center-page .owner-calendar-toolbar{gap:10px}.control-center-page .owner-calendar-toolbar>.field{flex:0 1 220px}.control-center-page .owner-calendar-toolbar .field__label{font-size:12px}.control-center-page .control-date{margin:5px 0 0;color:var(--sd-muted);font-size:15px}.control-date-step{display:flex;gap:8px}.control-search{display:grid;grid-template-columns:minmax(200px,1fr) 220px;gap:14px}.control-search .field>span{font-size:13px}.control-sync{font-size:13px;color:var(--sd-muted);order:5}.control-sync summary{cursor:pointer;padding:10px 0}.control-resource-tabs{display:none}.control-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;margin-bottom:12px}.control-legend>span:before{content:'';display:inline-block;width:10px;height:10px;background:var(--event-color);border-radius:3px;margin-right:6px}.is-free{--event-color:#dbeedf}.is-booked{--event-color:#bfd9ef}.is-blocked{--event-color:#dbccbc}.is-maintenance{--event-color:#f6d281}.control-desktop{max-height:calc(100dvh - 345px);min-height:350px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--sd-line);border-radius:14px;background:white}.control-grid-head,.control-grid-body{display:grid;grid-template-columns:55px repeat(var(--control-columns,3),minmax(0,1fr))}.control-grid-head{position:sticky;top:0;background:#f5f7f9;z-index:4;border-bottom:1px solid var(--sd-line);min-height:66px}.control-grid-head>div{padding:10px 14px;border-left:1px solid var(--sd-line)}.control-grid-head>span{padding:12px 5px;font-size:11px}.control-grid-head small{display:block;font-size:12px}.control-grid-head strong{font-size:14px}.control-grid-body{position:relative;height:1920px}.control-hours{display:grid;grid-template-rows:repeat(24,80px);color:var(--sd-muted);font-size:11px}.control-hours>span{padding:4px;border-top:1px solid var(--sd-line)}.control-column{position:relative;border-left:1px solid var(--sd-line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 19px,#edf1f4 19px,#edf1f4 20px)}
#ownerCalendarGrid .control-event,#ownerCalendarGrid .control-free{font:inherit;box-shadow:none;text-align:left;display:grid;align-content:start;gap:3px;border-radius:8px;position:absolute;left:5px;width:calc(100% - 10px);padding:8px 10px;min-height:0;line-height:1.3;overflow:hidden;white-space:normal;font-size:13px;z-index:2}#ownerCalendarGrid .control-event.is-booked{background:#e9f2fa;border:1px solid #b3cddd;color:#173e58}#ownerCalendarGrid .control-event.is-blocked{background:repeating-linear-gradient(135deg,#eee6dd,#eee6dd 7px,#e6dbd0 7px,#e6dbd0 9px);border:1px solid #cbbba9;color:#553d28}#ownerCalendarGrid .control-event.is-maintenance{background:#fff1cf;border:1px solid #e2c16b;color:#654900}.control-event small{font-size:11px;color:inherit}#ownerCalendarGrid .control-free{background:#f8fcf9;border:1px solid #dceadf;color:#28563d;z-index:1;font-size:12px}.control-free span{opacity:0}.control-free:hover span,.control-free:focus-visible span{opacity:1}.control-now{position:absolute;left:50px;right:0;border-top:2px solid #b42318;z-index:3;pointer-events:none}.control-now span{position:absolute;right:0;top:-17px;color:#9d2318;background:white;font-size:11px;padding:0 4px}.control-mobile{display:none}.control-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--sd-line);border-radius:12px;max-height:650px;overflow:auto;background:white}.control-week>section{border-right:1px solid var(--sd-line)}.control-week>section>button{position:sticky;top:0;z-index:4;width:100%;border-radius:0!important;font-size:12px!important}.control-week-day{height:1536px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,#e3e9ed 63px,#e3e9ed 64px)}.control-week .control-event{left:2px;width:calc(100% - 4px);font-size:11px!important;padding:4px!important}.control-booking-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(600px,100%);height:100dvh;max-height:100dvh;max-width:100%;border-radius:16px 0 0 16px}.control-booking-drawer .sd-dialog-head{position:sticky;top:0;z-index:3;background:white}.control-booking-actions{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0;position:sticky;top:-24px;background:white;z-index:2}.control-booking-actions .button{flex:1}.control-center-page .owner-time-adjustment{margin-top:14px}.control-center-page #ownerLoginPanel{max-width:600px;margin:25px auto}.control-center-page .owner-block-form[hidden]{display:none!important}.control-center-page #ownerBookingForm{grid-template-columns:1fr 1fr}.control-center-page #ownerBookingForm [name=customer_email]{min-width:0}
@media(max-width:767px){.control-center-page .owner-navigation{margin:0 0 16px;grid-template-columns:repeat(4,minmax(0,1fr))}.control-center-page .owner-calendar-toolbar{display:flex;flex-wrap:wrap}.control-center-page .owner-calendar-toolbar>.owner-segments{flex-basis:100%}.control-center-page .owner-calendar-toolbar>.field{flex:1 1 130px}.control-center-page .owner-calendar-toolbar>.field:has(#ownerCalendarResource){display:none}.control-date-step{flex:0 0 auto}.control-search{grid-template-columns:minmax(0,1fr) 130px;gap:8px}.control-resource-tabs{display:flex;gap:5px;margin:4px 0 12px}.control-resource-tabs button{flex:1;font-size:11px!important;padding:10px 5px!important;min-height:48px!important}.control-resource-tabs button.is-active{background:#fff1bc;color:#17252b;border-color:#ae810e}.control-legend{font-size:11px;gap:8px 12px}.control-mobile{display:block}.control-desktop{display:none}.control-mobile-summary{padding:16px;background:white;border:1px solid var(--sd-line);border-radius:14px;margin-bottom:16px}.control-mobile-summary>div:first-child{display:grid;grid-template-columns:1fr auto;gap:4px}.control-mobile-summary .sd-status{grid-column:2;grid-row:1/3;align-self:start}.control-mobile-summary p{margin-top:12px;font-size:13px}.control-mobile-summary h3,.control-day-list>h3{font-size:15px;margin:14px 0 10px}.control-free-options{display:grid;gap:8px}.control-center-page .control-mobile .control-free,.control-center-page .control-mobile .control-event{position:relative;left:auto;width:100%;min-height:52px;padding:12px;margin-bottom:8px}.control-mobile .control-free{display:flex;justify-content:space-between;align-items:center;font-size:13px}.control-mobile .control-free span{opacity:1;font-size:12px}.control-mobile .control-event{min-height:76px}.control-mobile .control-event strong{font-size:16px}.control-mobile .control-event span{font-size:14px}.control-day-list{padding:0 2px}.control-booking-drawer{inset:auto 0 0;margin:0;width:100%;height:auto;max-height:92dvh;border-radius:18px 18px 0 0}.control-booking-actions{top:-18px;gap:6px}.control-booking-actions .button{font-size:12px;padding:10px!important;flex:1 1 40%}.control-center-page #ownerBookingForm{grid-template-columns:1fr;padding:0;border:0}.control-week{display:grid;grid-template-columns:1fr;max-height:none;border:0;background:none;gap:12px}.control-week>section{border:1px solid var(--sd-line);border-radius:12px;background:white;padding:12px}.control-week-day{height:auto;background:none}.control-center-page .control-week .control-event{position:relative!important;inset:auto!important;width:100%;height:auto!important;min-height:52px;font-size:13px!important;padding:10px!important;margin:8px 0}.control-week>section>button{position:relative}.control-center-page .panel-head h2{font-size:22px}.control-center-page .panel-head .owner-block-form__actions{width:100%;display:flex}.control-center-page .panel-head .owner-block-form__actions>button{flex:1}.control-center-page .owner-calendar-toolbar .owner-segments button{flex:1}.control-center-page .owner-calendar-toolbar .owner-segments{display:flex;width:100%}.control-sync .owner-sync-panel{padding:12px}.control-center-page .sd-dialog-head{align-items:center}}
@media(prefers-reduced-motion:reduce){.control-center-page *{scroll-behavior:auto!important}}
.control-navigation-menu{display:contents}.control-navigation-menu>summary{display:none}
@media(max-width:767px){.control-navigation-menu{display:block;margin-bottom:12px}.control-navigation-menu>summary{display:block;min-height:44px;cursor:pointer;padding:10px 12px;background:white;border:1px solid var(--sd-line);border-radius:10px;font-weight:600;font-size:14px}.control-navigation-menu:not([open])>.owner-navigation{display:none}.control-navigation-menu[open]>.owner-navigation{display:grid;margin-top:8px}.control-center-page .panel-head .owner-block-form__actions>button{width:auto;min-width:0;flex:1 1 130px;font-size:13px;padding:10px}.control-center-page .owner-calendar-toolbar{margin:0}#ownerCalendarGrid .control-mobile .control-free,#ownerCalendarGrid .control-mobile .control-event{position:relative;left:auto;width:100%;min-height:52px;padding:12px;margin:0 0 8px}#ownerCalendarGrid .control-mobile .control-free{display:flex;justify-content:space-between;align-items:center;font-size:13px}#ownerCalendarGrid .control-mobile .control-free span{opacity:1;font-size:12px}#ownerCalendarGrid .control-mobile .control-event{min-height:76px}#ownerCalendarGrid .control-mobile .control-event strong{font-size:16px}#ownerCalendarGrid .control-mobile .control-event span{font-size:14px}#ownerCalendarGrid .control-week .control-event{position:relative!important;inset:auto!important;width:100%;height:auto!important;min-height:52px;font-size:13px!important;padding:10px!important;margin:8px 0}.control-center-page .control-date-step{gap:5px}.control-center-page .control-date-step button{font-size:12px;padding:10px!important}}

.owner-page #ownerBookingDialog.control-booking-drawer{max-height:100dvh}
@media(max-width:767px){.owner-page #ownerBookingDialog.control-booking-drawer{max-height:92dvh}}

/* Keep primary mobile actions compact even when the shared form action row
   switches to a column. Flex basis otherwise becomes a 130px button height. */
@media(max-width:767px){
 .control-center-page .panel-head .owner-block-form__actions{flex-direction:row;align-items:stretch;gap:8px}
 .control-center-page .panel-head .owner-block-form__actions>button{flex:1 1 0;min-height:44px;height:auto;margin:0}
 .control-center-page [data-owner-view-panel=calendar]{gap:10px}
 .control-center-page .panel-head{gap:12px;margin-bottom:0}
 .control-center-page .control-date{font-size:14px}
}
@media(max-width:360px){
 .control-center-page .control-date-step [data-control-shift="1"]{font-size:0!important;min-width:44px;width:44px}
 .control-center-page .control-date-step [data-control-shift="1"]::after{content:'→';font-size:18px}
}
