/* Scoped styling for the signup form only. Imported by app/signup/page.tsx.
   Deliberately separate from the shared /public/styles.css (which must not be
   edited). Uses the same terminal vocabulary: mono font, blue links, hairline
   rules, black/white, no rounded SaaS chrome. */

.form {
  max-width: 92ch;
  margin: 8px 0 40px;
}

.form fieldset {
  border: 1px dashed var(--line);
  margin: 0 0 22px;
  padding: 14px var(--pad) 18px;
}

.form legend {
  color: var(--fg-2);
  padding: 0 8px;
  font-size: 14px;
}

.field {
  margin: 0 0 16px;
}

.field > label {
  display: block;
  margin: 0 0 4px;
  color: var(--fg);
}

.field .req {
  color: var(--fg-2);
}

.field input[type="text"],
.field input[type="email"],
.field input[type="number"],
.field select,
.field textarea {
  width: 100%;
  max-width: 56ch;
  font: inherit;
  color: var(--fg);
  background: var(--bg);
  border: 1px solid var(--fg);
  border-radius: 0;
  padding: 7px 9px;
  -webkit-appearance: none;
  appearance: none;
}

.field textarea {
  min-height: 5.5em;
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: 2px solid var(--link);
  outline-offset: 1px;
}

.field.invalid input,
.field.invalid select,
.field.invalid textarea {
  border-color: var(--fg);
  box-shadow: inset 0 0 0 1px var(--fg);
}

.field .err {
  display: block;
  margin: 4px 0 0;
  color: var(--fg);
  font-size: 13px;
}
.field .err::before {
  content: "! ";
  color: var(--fg-2);
}

/* checkbox groups (agent tools, permission) */
.checks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(22ch, 1fr));
  gap: 4px 18px;
  margin: 4px 0 0;
}
.checks label,
.consent label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--fg);
}
.checks input,
.consent input {
  margin: 0;
}

.consent {
  margin: 6px 0 0;
}

.field .hintline {
  display: block;
  color: var(--fg-3);
  font-size: 12px;
  margin: 2px 0 0;
}

/* error summary at top */
.summary {
  border: 1px solid var(--fg);
  padding: 10px var(--pad);
  margin: 0 0 22px;
}
.summary p {
  margin: 0 0 6px;
  color: var(--fg);
}
.summary ul {
  margin: 0;
  padding-left: 1.4em;
}
.summary a {
  color: var(--link);
}

/* submit */
.submit {
  font: inherit;
  color: var(--bg);
  background: var(--fg);
  border: 1px solid var(--fg);
  border-radius: 0;
  padding: 9px 18px;
  cursor: pointer;
}
.submit:disabled {
  color: var(--fg-2);
  background: var(--bg);
  cursor: not-allowed;
}
.submit:not(:disabled):hover {
  background: var(--link);
  border-color: var(--link);
  color: #fff;
}

/* honeypot — visually removed, still in the DOM for bots */
.hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
