/* PRE98 sitewide accessibility, professional-value, and responsive QA layer.
   Additive: preserves predecessor design while fixing shared interaction-size and focus causes. */

:root { --pre98-focus: #1d4ed8; }

button,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]),
select {
  min-height: 44px;
}
textarea { min-height: 96px; }

.site-header .brand,
.site-header .nav-toggle,
.site-header .language-toggle,
.site-header .pre90-language-toggle,
.site-header .header-signin,
.site-header .top-nav > a,
a.primary, a.secondary, a.button-link, a.link-btn,
button.primary, button.secondary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.site-header .brand { min-width: 44px; }
.checkbox-grid label,
.check-grid label,
label.check,
label.checkbox-row {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: .55rem;
}
input[type="checkbox"], input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  flex: 0 0 auto;
}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--pre98-focus);
  outline-offset: 3px;
}

.pre98-professional-actions { padding-top: 1.25rem; }
.pre98-professional-actions .section-heading { max-width: 900px; margin-bottom: 1rem; }
.pre98-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.pre98-action-card {
  border: 1px solid var(--line, #d7dee8);
  border-radius: 14px;
  background: #fff;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .55rem;
}
.pre98-action-card h3 { margin: 0; font-size: 1.03rem; }
.pre98-action-card p { margin: 0; flex: 1; }
.pre98-action-card a { margin-top: .25rem; }
.pre98-action-note { margin-top: 1rem; }

@media (max-width: 900px) {
  .pre98-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .pre98-action-grid { grid-template-columns: 1fr; }
  .site-header .top-nav > a { width: 100%; }
}

/* PRE98 audit: at laptop/standard desktop widths these two legacy headers duplicate
   the same primary action inside navigation, so suppress only the redundant trailing CTA. */
@media (max-width: 1440px) and (min-width: 721px) {
  body[data-sj-page="dashboard"] .site-header > .header-cta,
  body[data-sj-page="next-path"] .site-header > .header-cta { display: none; }
}

/* PRE98 page-audit follow-up: normalize simple/legacy header navigation targets too. */
.site-header nav > a,
.site-header > a:not(.skip) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.pre90-upload { min-height: 44px; display: inline-flex; align-items: center; }
