/* Final mobile overrides: the viewport stays fixed; content reflows vertically. */
html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:740px){
 html,body{width:100%;max-width:100%;overflow-x:clip}
 .workspace,.main,.page,.panel,.auth-card{max-width:100%;min-width:0}
 .page{overflow-wrap:anywhere}
 .page :is(.heading,.toolbar,.week-nav,.panel-heading,.ops-actions,.monthly-actions,.staffing-rule-actions){flex-wrap:wrap;min-width:0;max-width:100%}
 .page :is(.list-main,.open-details,.destination>span,.focus-copy,.field,.template-intro>div){min-width:0}
 .page :is(button,input,select,textarea),dialog :is(input,select,textarea){max-width:100%}
 input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-width:0}
 .page button{white-space:normal;overflow-wrap:anywhere}
 .page .week-nav h2{flex:1 1 100%;font-size:16px;line-height:1.4}
 .page .week-scroll,.page .staffing-week-scroll{overflow:visible;margin:0;padding:0}
 .page .week-scroll:before{display:none}
 .page .calendar-grid,.page .staffing-week-grid{grid-template-columns:minmax(0,1fr);min-width:0;width:100%;overflow:visible;gap:12px}
 .immersive .page .calendar-day{min-width:0;min-height:0;padding:16px}
 .page .calendar-day h3{font-size:14px}
 .page .staffing-week-grid>*{min-width:0;max-width:100%}
 .immersive .focus-copy h2{font-size:clamp(30px,10.5vw,46px);white-space:normal}
 .immersive .focus-copy h2 span{padding:0 4px}
 .page .open-card{min-width:0;flex-wrap:wrap}
 .page .open-actions{min-width:0;max-width:100%;flex:1 1 100%}
 .page .stage-plot svg{max-width:100%}
 .page .staffing-rule-note{min-width:0;flex-basis:100%}
 .mobile-nav{max-width:100%;box-sizing:border-box}
 .mobile-nav .nav-button{min-width:0;width:0;flex:1}
 dialog{max-width:calc(100% - 20px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
 dialog form,dialog header>div,.event-details-body{min-width:0;max-width:100%}
 dialog header{gap:12px}dialog h2{overflow-wrap:anywhere}
 dialog .close{flex-shrink:0}
 .editor-fields{max-height:55dvh}
 .editor-actions{flex-wrap:wrap;padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){
 .page .worktime-stats,.page .absence-metrics{grid-template-columns:minmax(0,1fr)}
 .page .quick-summary{grid-template-columns:minmax(0,1fr)}
 .page .panel{padding:16px}
}
@media(min-width:741px) and (max-width:1100px){
 .page .calendar-grid,.page .staffing-week-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%;overflow:visible}
 .page .calendar-day{min-width:0}
 .page .week-scroll,.page .staffing-week-scroll{margin:0;padding:0;overflow:visible}
 .page .week-scroll:before{display:none}
}
@media(any-pointer:coarse){input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}
