/* Shared by the storefront and staff PWA, including controls inside sheets. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button, a, input, select, textarea { touch-action: manipulation; }
.form-control {
  display:block; box-sizing:border-box; width:100%; min-width:0; min-height:44px;
  border:1px solid var(--border); border-radius:10px; padding:10px 12px;
  background:var(--surface); color:var(--text); font:inherit;
}
select.form-control { height:48px; padding:0 12px; }
@media (max-width:900px), (any-pointer:coarse) {
  /* Inline 12–15px styles must not trigger iPhone's form-focus zoom. */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]),
  select, textarea, [contenteditable=true] {
    font-size:max(16px, 1em) !important;
    min-width:0; max-width:100%; min-height:44px;
  }
  select { height:44px; }
}
@media (max-width:759px) {
  .leave-form-fields { grid-template-columns:minmax(0,1fr) !important; }
}

@media (max-width:759px) {
  /* Keep form navigation above the fixed app navigation, including the iPhone home indicator. */
  .wizard-actions { bottom:calc(76px + env(safe-area-inset-bottom)) !important; z-index:20; }
  .wizard-actions > button { flex:1; min-width:0; }
  .wizard-draft-controls > [data-region="wz-saved-label"] { flex-basis:100% !important; }
}
/* An invalid field keeps its error color when focus moves to it. */
[aria-invalid="true"]:focus {
  outline:2px solid #dc2626;
  outline-offset:1px;
}
