/**
 * Shared public chrome: contrast, target size, reading text, disabled state.
 * Complements tokens.css / theme.css without rewriting compiled Tailwind.
 */
html {
  font-size: 100%;
}

body {
  color: var(--rc-ink);
  font-size: 1rem;
  line-height: 1.6;
}

.prose-muted,
.institutional-frame p,
.rc-portal-form-body p,
.rc-page-layout p {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--rc-ink-muted);
}

.btn-primary,
.btn-secondary,
.btn-ghost,
button[type="submit"],
a.btn-primary,
a.btn-secondary {
  min-height: 44px;
  min-width: 44px;
}

.field-input,
input.field-input,
select.field-input,
textarea.field-input,
.rc-portal-form input[type="text"],
.rc-portal-form input[type="email"],
.rc-portal-form input[type="password"],
.rc-portal-form select,
.rc-portal-form textarea {
  min-height: 44px;
  font-size: 1rem;
}

.btn-primary:disabled,
.btn-secondary:disabled,
.btn-ghost:disabled,
button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.institutional-frame,
.rc-modal,
[role="dialog"] {
  color: var(--rc-ink);
}

.table-institutional {
  font-size: 1rem;
}

@media (max-width: 390px) {
  .wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 320px) {
  .btn-primary,
  .btn-secondary {
    width: 100%;
  }
}
