.field-badge {
  display:inline-flex;
  align-items:center;
  min-height:18px;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.05em;
  text-transform:uppercase;
  vertical-align:middle;
}

.field-badge.required {
  color:#ffe4e7;
  border:1px solid rgba(248,113,113,.48);
  background:rgba(220,38,38,.20);
}

.field-badge.optional {
  color:#aeb8c7;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(148,163,184,.07);
}

.request-primary-grid {
  grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr);
}

.request-language-row {
  max-width:720px;
  margin:9px 0;
}

.language-label-line {
  display:flex;
  align-items:center;
  gap:6px;
}

.language-field-label {
  margin:0;
}

.field-help-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  min-height:20px;
  padding:0;
  border:1px solid rgba(96,165,250,.42);
  border-radius:999px;
  background:rgba(59,130,246,.10);
  color:#bfdbfe;
  font-size:11px;
  font-weight:800;
  line-height:1;
}

.field-help-button:hover,
.field-help-button:focus-visible {
  border-color:rgba(96,165,250,.72);
  background:rgba(59,130,246,.18);
}

.language-help-text {
  width:max-content;
  max-width:min(620px,100%);
  margin:5px 0 0;
  padding:7px 9px;
  border:1px solid rgba(96,165,250,.25);
  border-radius:8px;
  background:rgba(30,64,175,.12);
  color:#bfdbfe;
  font-size:10px;
  line-height:1.4;
}

.language-help-text[hidden] {
  display:none;
}

.request-language-row > input {
  width:100%;
}

@media (max-width:760px) {
  .request-card {
    padding:10px;
  }

  .request-card .compact-heading {
    margin-bottom:5px;
    padding-bottom:5px;
  }

  .request-card .compact-heading p {
    display:none;
  }

  .request-primary-grid {
    grid-template-columns:1fr;
    gap:0;
  }

  .request-language-row {
    max-width:none;
    margin:5px 0;
  }

  .request-card label {
    margin:5px 0;
    font-size:10.5px;
  }

  .request-card .language-field-label {
    margin:0;
  }

  .request-card input,
  .request-card select,
  .request-card textarea {
    margin-top:4px;
    padding:8px 9px;
    font-size:16px;
  }

  .request-card select {
    min-height:39px;
  }

  .request-card .compact-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }

  .request-card textarea {
    min-height:50px;
    max-height:92px;
  }

  .field-badge {
    min-height:16px;
    margin-left:4px;
    padding:2px 5px;
    font-size:7.5px;
  }

  .field-help-button {
    width:24px;
    height:24px;
    min-height:24px;
    font-size:12px;
  }

  .language-help-text {
    width:100%;
    margin-top:4px;
    padding:6px 8px;
    font-size:9.5px;
  }

  .request-card .submit-row {
    margin-top:7px;
  }

  .request-card .submit-row .primary-action {
    width:100%;
    min-height:40px;
  }
}

@media (max-width:430px) {
  .request-card {
    padding:9px;
  }

  .request-card .compact-heading h2 {
    font-size:17px;
  }

  .request-card label {
    margin:4px 0;
  }

  .request-card .language-field-label {
    margin:0;
  }

  .request-card input,
  .request-card select,
  .request-card textarea {
    padding:7px 8px;
  }

  .request-card textarea {
    min-height:46px;
  }

  .field-badge {
    font-size:7px;
  }
}
