.h5-screen .info-field-error { margin: 6px 0 0; color: #a83b30; font-size: 12px; line-height: 1.65; }
.h5-screen input[aria-invalid='true'] { border-color: #c45244; box-shadow: 0 0 0 2px rgb(196 82 68 / 10%); }
.result-stale-notice { margin: 0 0 18px; padding: 16px; border: 1px solid #c6d8f9; border-radius: 16px; background: #edf3ff; color: #173d78; }
.result-stale-notice strong { font-size: 15px; }
.result-stale-notice p { margin: 8px 0 12px; font-size: 12px; line-height: 1.8; }
.result-stale-notice button { min-height: 44px; padding: 10px 16px; border: 1px solid #b2c9f1; border-radius: 10px; background: #fff; color: #003da5; font: inherit; font-size: 13px; font-weight: 650; cursor: pointer; }
.download-result-warning { margin: 16px 0; padding: 14px; border: 1px solid #c6d8f9; border-radius: 12px; background: #edf3ff; color: #173d78; font-size: 12px; line-height: 1.8; }
.download-result-warning p { margin: 0 0 10px; }
.download-result-warning label { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; cursor: pointer; }
.download-result-confirm { flex: 0 0 18px; width: 18px; height: 18px; margin: 4px 0 0; accent-color: #003da5; }
.info-field-error[hidden], .result-stale-notice[hidden], .download-result-warning[hidden] { display: none !important; }

/* Touch feedback comes from the existing selected/pressed states, not a Safari
   highlight that briefly paints over an entire clickable card. Keep focus rings. */
button, a, input, select, textarea, label, summary, [role='button'] { -webkit-tap-highlight-color: transparent; }
#previewRefreshStatus { display: block; min-height: 1.8em; }
/* Resume stays above the stationary result actions instead of behind them. */
html[data-h5-fixed-chrome] .payment-resume {
  z-index: 46;
  bottom: max(calc(var(--h5-dock-height, 88px) + 12px), calc(72px + env(safe-area-inset-bottom)));
}
html[data-h5-keyboard-open] .payment-resume { visibility: hidden; pointer-events: none; }
@media (hover: none) {
  .primary-button:hover:not(:disabled), .h5-screen .upload-zone:hover { transform: none; }
}
