/* Terrafa sign-up page — form styles.
   Loaded after legal.css, which supplies the tokens, nav, page head and footer. */

.form-card{border:1px solid var(--line);background:#fff;padding:32px 34px;margin-bottom:28px}
@media(max-width:560px){.form-card{padding:24px 20px}}

.field{margin-bottom:22px}
.field:last-of-type{margin-bottom:26px}
.field label{display:block;font-family:var(--disp);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
.field label .opt{color:var(--muted);letter-spacing:.08em}
.field input{width:100%;font-family:var(--body);font-size:16px;color:var(--ink);background:var(--ground);border:1px solid var(--line);padding:13px 14px;transition:border-color .2s,background .2s}
.field input:hover{border-color:var(--accent)}
.field input:focus{background:#fff;border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
.field input[aria-invalid="true"]{border-color:#9C3B2E}
.field .hint{font-size:13.5px;color:var(--muted);margin-top:7px}
.field .err{font-size:13.5px;color:#9C3B2E;margin-top:7px;display:none}
.field .err.on{display:block}

.submit{font-family:var(--disp);font-size:13.5px;font-weight:600;padding:13px 26px;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.submit:hover{background:var(--accent);border-color:var(--accent)}
.submit[disabled]{background:var(--muted);border-color:var(--muted);cursor:progress}

.form-note{font-size:13.5px;color:var(--muted);margin-top:18px}

/* Outcome banner. One element, three states, so only one message shows at a time. */
.outcome{display:none;padding:18px 20px;margin-bottom:26px;border-left:3px solid var(--accent);background:var(--ground);font-size:15px;color:var(--txt)}
.outcome.on{display:block}
.outcome.ok{border-left-color:#1B7F5E}
.outcome.bad{border-left-color:#9C3B2E}
.outcome b{display:block;font-family:var(--disp);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.outcome.ok b{color:#1B7F5E}
.outcome.bad b{color:#9C3B2E}

/* The form is replaced by the confirmation once an account is created, so nobody
   submits the same address twice and wonders why the second email never arrives. */
.done .form-card{display:none}
