/* Native application form, styled to match the site's Tally mock:
   M PLUS 1 / DM Sans, light gray rounded inputs, black pill CTA. */
.q-apply {
  font-family: "M PLUS 1", "DM Sans", sans-serif;
  text-align: left;
  width: 100%;
  padding: 8px 4px;
  box-sizing: border-box;
}
.q-apply *, .q-apply *::before, .q-apply *::after { box-sizing: border-box; }
.q-apply-field { margin-bottom: 22px; }
.q-apply-label {
  display: block;
  font-weight: 700;
  font-size: 15px;
  color: #111;
  margin-bottom: 8px;
}
.q-apply-req { color: #777; font-size: 11px; vertical-align: super; }
.q-apply-hint { font-size: 14px; color: #333; margin-bottom: 10px; }
.q-apply-input {
  width: 100%;
  font: inherit;
  font-size: 15px;
  color: #111;
  background: #fff;
  border: 1px solid #d9d9dc;
  border-radius: 8px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .15s ease;
}
.q-apply-input::placeholder { color: #b6b6bc; }
.q-apply-input:focus { border-color: #22b7c8; }
.q-apply-textarea { resize: vertical; min-height: 110px; }
.q-apply-drop {
  border: 1px dashed #c9c9ce;
  border-radius: 8px;
  padding: 26px 16px;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.q-apply-drop:hover, .q-apply-drop-over { border-color: #22b7c8; background: #f4fbfc; }
.q-apply-drop-has { border-style: solid; border-color: #22b7c8; background: #f4fbfc; }
.q-apply-droptext { font-size: 14px; color: #444; }
.q-apply-dropnote { font-size: 12px; color: #9a9aa0; margin-top: 8px; }
.q-apply-fileinput { display: none; }
.q-apply-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
/* attestation checkbox (gated roles only) */
.q-apply-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}
.q-apply-checkbox {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #22b7c8;
  cursor: pointer;
}
.q-apply-attest-missing .q-apply-check { color: #d43c3c; }
.q-apply-attest-missing .q-apply-checkbox { outline: 2px solid #d43c3c; outline-offset: 2px; }
/* not copy for the applicant, see ATTEST_AGENT_NOTE in apply.js */
.q-apply-agentnote { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.q-apply-error { color: #d43c3c; font-size: 14px; min-height: 20px; margin-bottom: 8px; }
.q-apply-btn {
  font: inherit;
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  background: #111;
  border: none;
  border-radius: 10px;
  padding: 12px 22px;
  cursor: pointer;
  transition: opacity .15s ease, transform .15s ease;
}
.q-apply-btn:hover { opacity: .85; transform: translateY(-1px); }
.q-apply-btn:disabled { opacity: .5; cursor: default; transform: none; }
.q-apply-success { text-align: center; padding: 40px 12px; }
.q-apply-success-icon {
  width: 56px; height: 56px; line-height: 56px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #e6f7f0;
  color: #1fae7d;
  font-size: 28px; font-weight: 700;
}
.q-apply-success-title { font-size: 20px; font-weight: 700; color: #111; margin-bottom: 10px; }
.q-apply-success-body { font-size: 15px; color: #555; line-height: 1.8; }
