.modern-portal-page input[type="text"],
.modern-portal-page input[type="email"],
.modern-portal-page input[type="tel"],
.modern-portal-page input[type="number"],
.modern-portal-page input[type="password"],
.modern-portal-page select {
  height: 28px !important;
  padding: 0 10px !important;
  font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  background-color: #ffffff !important;
  border: 1px solid #cfd6df !important;
  border-radius: 3px !important;
  outline: none !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  line-height: normal !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
/* ----- Width tiers driven by legacy size="*" attributes
         (mirrors rprc.css: size="10" -> 140px, size="38" -> 320px) ----- */
.modern-portal-page input[size="9"],
.modern-portal-page input[size="10"]  { max-width: 140px !important; }
.modern-portal-page input[size="14"],
.modern-portal-page input[size="15"],
.modern-portal-page input[size="16"],
.modern-portal-page input[size="17"]  { max-width: 180px !important; }
.modern-portal-page input[size="25"]  { max-width: 240px !important; }
.modern-portal-page input[size="38"],
.modern-portal-page input[size="40"]  { max-width: 320px !important; }
.modern-portal-page input[size="80"]  { max-width: 100% !important; width: 100% !important; }
/* Default cap for text/select fields that don't carry a size attribute */
.modern-portal-page input[type="text"]:not([size]),
.modern-portal-page input[type="email"]:not([size]),
.modern-portal-page select:not([size]) {
  width: 100% !important;
  max-width: 180px !important;
}
/* Wide inputs inside multi-column cells (Special Terms,
   Bank wire information rows, "What is the nature/region..." etc.) */
.modern-portal-page td[colspan="3"] input[type="text"],
.modern-portal-page td[colspan="4"] input[type="text"],
.modern-portal-page td[colspan="5"] input[type="text"],
.modern-portal-page td[colspan="6"] input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
}
/* ----- Focus ring (approved primary blue) ----- */
.modern-portal-page input:focus,
.modern-portal-page select:focus {
  border-color: #004890 !important;
  box-shadow: 0 0 0 3px rgba(0, 72, 144, 0.15) !important;
}
/* ----- Custom chevron for selects (replaces native arrow) ----- */
.modern-portal-page select {
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234e545a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  padding-right: 28px !important;
}
/* ----- Checkboxes + radios (approved primary accent) ----- */
.modern-portal-page input[type="checkbox"],
.modern-portal-page input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  margin: 0 4px 0 0 !important;
  accent-color: #004890 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}
/* ----- Submit button (approved primary button) ----- */
.modern-portal-page input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 30px !important;
  min-width: 140px !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 22px !important;
  margin: 4px 0 8px 0 !important;
  font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  background-color: #004890 !important;
  background-image: none !important;
  border: 1px solid #004890 !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  text-transform: none !important;
  transition: background-color 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.modern-portal-page input[type="submit"]:hover {
  background-color: #003366 !important;
  border-color: #003366 !important;
  box-shadow: 0 2px 6px rgba(0, 72, 144, 0.25) !important;
}
.modern-portal-page input[type="submit"]:active {
  transform: translateY(1px) !important;
}
