/* Responsive workspace: shared geometry, no data or print changes. */
/* WebKit's native temporal controls need an explicit border-box and neutral
   appearance: a percentage width alone can still include intrinsic padding. */
@media screen {
 :is(.content,.atlas-v49-view,.booking-dialog) input:is([type="date"],[type="time"],[type="month"],[type="datetime-local"]){
  display:block;box-sizing:border-box;width:100%;inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;-webkit-appearance:none;appearance:none
 }
 :is(.content,.atlas-v49-view,.booking-dialog) input::-webkit-date-and-time-value{display:block;min-width:0;max-width:100%;text-align:left}
 :is(.content,.atlas-v49-view,.booking-dialog) input::-webkit-datetime-edit{min-width:0;padding:0}
 :is(.shift-form,.atlas-v49-shift-form) > label,.atlas-v49-field,.atlas-date-field{min-width:0;min-inline-size:0;max-width:100%}
}
@media screen and (max-width:760px), screen and (max-width:932px) and (max-height:500px){
 .atlas-v49-view:is([data-view="bookings"],[data-view="operations"]) .atlas-v49-hero{align-items:flex-start;flex-direction:column;flex-wrap:nowrap}
 .atlas-v49-view:is([data-view="bookings"],[data-view="operations"]) .atlas-v49-close{align-self:flex-end}
 .atlas-v49-view:is([data-view="bookings"],[data-view="operations"]) .atlas-v49-body>.booking-controls,
 .atlas-v49-view:is([data-view="bookings"],[data-view="operations"]) .booking-room-details>.booking-controls{
  display:grid;grid-template-columns:minmax(0,1fr);width:100%;align-items:stretch
 }
 .atlas-v49-view:is([data-view="bookings"],[data-view="operations"]) .booking-controls .atlas-v49-field{min-width:0;max-width:100%}
 :is(.content,.atlas-v49-view,.booking-dialog) input:is([type="date"],[type="time"],[type="month"],[type="datetime-local"]){font-size:16px}
}
@media screen {
 .content,.content>*{min-width:0}
 .content input,.content select,.atlas-v49-view input,.atlas-v49-view select{max-width:100%;min-width:0}
 .department-heading,.atlas-v49-schedule-toolbar{flex-wrap:wrap}
 .department-switch{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
 .department-switch .atlas-v49-schedule-tab{min-width:0}
 :is(.content,.atlas-v49-view) :has(>.department-calendar){overflow-x:auto;max-width:100%}
 .booking-dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
 .atlas-v49-view .atlas-v49-body{min-width:0}
 .atlas-v49-view .atlas-v49-card{min-width:0}
}
@media screen and (max-width:760px), screen and (max-width:932px) and (max-height:500px) {
	/* Seven staff-calendar columns must fit the viewport; full shift data remains in the day dialog. */
	:is(.content,.atlas-v49-view) :has(>.department-calendar),
	.atlas-v49-schedule-detail{overflow-x:hidden}
	.department-calendar,
	.atlas-v49-calendar{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
	:is(.weekday,.atlas-v49-weekday){min-width:0;padding-inline:2px;letter-spacing:0;overflow:hidden}
	:is(.calendar-day,.atlas-v49-day){min-width:0;padding-inline:3px;overflow:hidden}

	/* On dense schedules/reports KAP occupies a reserved 44px header slot and scrolls away with the page. */
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) :is(.page-head,.department-heading,.atlas-v49-hero){padding-right:52px}
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) .kap-widget{
		display:block;width:44px;height:44px;right:max(7px,env(safe-area-inset-right));top:max(7px,env(safe-area-inset-top));bottom:auto;position:absolute;transform:none;z-index:2005
	}
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) .kap-main{
		display:block;width:44px;height:44px;min-height:44px;padding:1px;overflow:hidden;border:1px solid #ffffff59;border-radius:50%;background:#0f111a6b
	}
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) .kap-main .kap-body{
		position:relative;left:auto;bottom:auto;width:42px;height:42px;transform:none;scale:1
	}
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) .kap-main>:not(.kap-body):not(.kap-event-badge){display:none}
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) .kap-event-badge{width:16px;height:16px;right:-1px;top:-1px;border-width:2px}
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) .kap-popover{
		position:fixed;right:8px;top:calc(58px + env(safe-area-inset-top));width:min(310px,calc(100vw - 16px));max-height:calc(100dvh - 74px - env(safe-area-inset-top));overflow-y:auto
	}
	body:has(:is(.department-calendar,.atlas-v49-calendar,.atlas-statistics,.atlas-v49-view[data-view="operations"])) .kap-widget.message-pulse::after{right:0;bottom:0;width:44px;height:44px}
}
@media screen and (min-width:761px) {
 :root{--atlas-sidebar-width:clamp(200px,16vw,250px)}
 .shell{grid-template-columns:var(--atlas-sidebar-width) minmax(0,1fr)}
 .sidebar{width:var(--atlas-sidebar-width);padding:24px 16px;gap:20px;height:100dvh;overscroll-behavior:contain}
 .sidebar nav button{padding:10px 11px}.sidebar nav span{font-size:13px}
 body:not(.atlas-messenger-active) .content{max-width:1800px;padding:28px clamp(18px,2.4vw,52px) 48px;margin-inline:auto}
 .content h1{font-size:clamp(28px,3vw,40px);line-height:1.15}
 .atlas-v49-view{left:var(--atlas-sidebar-width);padding:28px clamp(18px,2.4vw,52px) 48px}
 .atlas-v49-hero,.atlas-v49-body{max-width:1680px}
 .atlas-v49-hero h1{font-size:clamp(28px,2.6vw,42px)}
 .department-calendar{min-width:740px;grid-template-columns:repeat(7,minmax(0,1fr))}
 .calendar-day{min-height:120px;padding:7px}
 .shift-chip{padding:7px 7px 30px}.shift-chip-actions{top:auto;bottom:3px}.shift-chip strong{font-size:11px}.shift-chip span{font-size:10px}
 .atlas-v49-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}
 .atlas-v49-day{min-width:0;overflow-wrap:anywhere}
}
@media screen and (min-width:761px) and (max-width:1200px) {
 .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .atlas-v49-schedule-layout{grid-template-columns:minmax(170px,210px) minmax(0,1fr)}
 .atlas-v49-shift-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .atlas-v49-create-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}
 .atlas-v49-schedule-detail{overflow-x:auto}
 .atlas-v49-calendar{min-width:630px}
 .department-heading{gap:12px}.department-heading h2{font-size:24px}
}
@media screen and (min-width:761px) and (max-height:800px) {
 .sidebar{padding-block:16px;gap:16px}.sidebar nav{gap:2px}.sidebar nav button{padding-block:8px}
 body:not(.atlas-messenger-active) .content,.atlas-v49-view{padding-top:18px;padding-bottom:32px}
 .atlas-v49-hero{margin-bottom:16px}.atlas-v49-hero h1,.atlas-v49-view[data-view="bookings"] .atlas-v49-hero h1{font-size:28px}
 .atlas-v49-card{padding:16px}.atlas-v49-subtitle{font-size:13px}
 .booking-controls{gap:12px}.booking-month{gap:4px}.booking-day{min-height:64px;padding:8px}.booking-day-number{font-size:15px}.booking-first-service{font-size:10px}
 .booking-calendar-nav{margin-bottom:10px}.booking-legend{margin-bottom:10px}.booking-key{padding:5px 8px}
 .booking-help{margin-top:10px}.calendar-day{min-height:100px}
}
