/* PR4 mobile compatibility foundation.
   Scope: app-wide mobile hardening only. No route, backend, DB, RLS or dependency changes. */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html,
body,
#root {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  overflow-wrap: break-word;
}

html.mobile-menu-lock,
body.mobile-menu-lock {
  overscroll-behavior: none;
}

a,
button,
[role="button"],
input,
textarea,
select,
.btn,
.g4-btn,
.g4h-btn,
.career-cta,
.career-mini-link,
.ppv-tab-btn,
.ppv-pdf-btn {
  touch-action: manipulation;
}

input,
textarea,
select,
button {
  max-width: 100%;
}

.table-wrap,
.table-scroll,
.panel > table,
.card > table,
.sidebar,
.content,
.auth-v2-form-side,
.career-shell,
.career-card,
.cv-text-shell,
.ppv-app,
.public-wrap,
.g4h-device,
.g4h-main {
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 700px) {
  input,
  textarea,
  select,
  button,
  .btn,
  .auth-v2-field input,
  .auth-v2-field select,
  .auth-v2-btn,
  .auth-v2-tabs button,
  .auth-v2-link-button,
  .auth-v2-inline-link,
  .auth-v2-resend-toggle,
  .career-field input,
  .career-field textarea,
  .career-field select,
  .career-cta,
  .g4-btn,
  .g4h-btn,
  .ppv-tab-btn,
  .ppv-pdf-btn {
    font-size: 16px;
  }
}

@media (max-width: 900px) {
  .app-shell.has-learner-mobile .content {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
  }

  .learner-bottom-nav {
    padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
  }
}

.nav-lock-mark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 20px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .22);
  color: #475569;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.ppv-shell,
.ppv-app,
.ppv-hero,
.ppv-id-bar,
.ppv-id-pill,
.ppv-verified-pill,
.ppv-score-section,
.ppv-overview-card,
.ppv-usecase-card,
.ppv-skills-grid,
.ppv-skill-row,
.ppv-stats-bar,
.ppv-contact-footer,
.ppv-contact-links,
.g4h,
.g4h-device,
.g4h-main,
.g4h-hero,
.g4h-hero-inner,
.g4h-id-row,
.g4h-seal-row,
.g4h-terminal,
.g4h-trow,
.g4h-cap,
.g4h-evidence,
.g4h-ev-row,
.g4h-vault {
  min-width: 0;
  max-width: 100%;
}

.ppv-shell *,
.g4h * {
  overflow-wrap: anywhere;
}

.ppv-id-pill span,
.ppv-contact-links a,
.ppv-evidence-code,
.g4h-id-val,
.g4h-seal-meta .hash,
.g4h-trow .v,
.g4h-ev-row dd,
.g4h-footer .vid {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.g4h {
  --display: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

@media (max-width: 480px) {
  .ppv-app,
  .g4h-device {
    width: 100%;
    max-width: 100%;
  }

  .ppv-tab-bar,
  .ppv-id-bar,
  .ppv-hero-stats,
  .ppv-uc-metrics,
  .ppv-stats-bar,
  .ppv-contact-links {
    grid-template-columns: minmax(0, 1fr);
  }

  .ppv-contact-links,
  .ppv-contact-footer,
  .g4h-id-row,
  .g4h-seal-row,
  .g4h-vault {
    flex-direction: column;
    align-items: stretch;
  }
}
