/* Página /contratar: usa a base visual do login (login.css) e acrescenta o formulário. */
.contract { align-items: start; }
fieldset { display: grid; gap: 8px; min-width: 0; margin: 0 0 6px; padding: 14px 0 0; border: 0; border-top: 1px solid var(--line); }
fieldset:first-of-type { border-top: 0; padding-top: 0; }
legend { padding: 0; font: 700 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
select { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; font-size: 16px; }
select:focus { outline: none; border-color: var(--brand); box-shadow: var(--ring); }
.row2 { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 10px; }
.row2 > div { display: grid; gap: 8px; }
.row2 label { margin-top: 8px; }
.field-hint { margin-top: -2px; font-size: 11.5px; color: var(--muted); }
.check { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; font-size: 13px; font-weight: 500; line-height: 1.45; color: var(--text-2); cursor: pointer; }
.check input { flex: none; width: 18px; min-height: 18px; height: 18px; margin: 1px 0 0; padding: 0; accent-color: var(--text); }
#c-mensagem { min-height: 20px; color: #d84a3f; font-size: 12px; line-height: 1.4; }
.closed, .done { display: flex; flex-direction: column; gap: 6px; margin-top: 22px; padding: 16px; border-radius: 12px; font-size: 13px; line-height: 1.5; }
.closed { background: var(--surface-2); color: var(--text-2); }
.done { background: #e4f2e8; color: #2f6f49; }
.closed strong, .done strong { font-size: 15px; color: var(--text); }
.done .tools-cta { align-self: flex-start; margin-top: 6px; text-decoration: none; }
.tools-cta { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border: 1px solid var(--text); border-radius: 7px; background: var(--text); color: var(--bg); font: 600 12px Inter, ui-sans-serif, system-ui, sans-serif; }
