/* V21 shared mobile layout guard: input and label boxes must not overlap. */
html{overflow-x:clip}*,*::before,*::after{box-sizing:border-box}
main,.app,form,fieldset,section,.card,.grid,.row,.form-grid{min-width:0;max-width:100%}
input,select,textarea{max-width:100%;min-width:0}
input[type="date"],input[type="time"]{display:block;width:100%;min-width:0;max-width:100%;font-size:16px;line-height:1.35}
label{min-width:0;overflow-wrap:anywhere}
@media(max-width:420px){.grid,.form-grid,.row,.date-time-grid,.time-grid,.schedule-row{min-width:0}.field{min-width:0}input[type="date"],input[type="time"]{min-height:42px}}
