/* IFFS 2027 — static/css/components/forms.css
   GENERATED from design/design_handoff_iffs_2027/static/css/iffs.css
   by scripts/split_design_css.py — do not hand-edit; edit the source. */
.form-grid{display:grid;gap:var(--sp-4)}
@media(min-width:720px){.form-grid{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field>label{font-weight:500;font-size:14px}
.field .req{color:var(--c-status-danger-text)}
.input,.select,.textarea{width:100%;min-height:46px;border:1px solid var(--c-border-strong);border-radius:var(--r-control);padding:10px 14px;font:inherit;color:var(--c-text-primary);background:var(--c-surface-canvas);transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-focus-ring);box-shadow:0 0 0 3px rgba(168,90,0,.16)}
.input[disabled]{background:var(--p-steel-050);color:var(--c-text-muted);cursor:not-allowed}
.textarea{min-height:110px;resize:vertical}
.hint{font-size:var(--fs-small);color:var(--c-text-secondary)}
.counter{font-family:var(--font-data);font-size:var(--fs-micro);color:var(--c-text-muted);align-self:flex-end;letter-spacing:.08em}
.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--c-status-danger)}
.msg{font-size:var(--fs-small);display:flex;gap:6px;align-items:baseline}
.msg--error{color:var(--c-status-danger-text)}
.msg--success{color:var(--c-status-success-text)}
.consent{border:1px solid var(--c-border-subtle);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4) var(--sp-4);margin:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.consent legend{font-weight:600;font-size:14px;padding:0 6px}
.consent .opt{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.consent input[type="checkbox"]{width:22px;height:22px;margin:1px 0 0;accent-color:var(--p-accent-600)}
.consent .opt em{display:block;font-style:normal;font-size:var(--fs-small);color:var(--c-text-secondary)}
.form-panel{border-radius:var(--r-m);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-small);line-height:1.55}
.form-panel--success{border:1px solid var(--c-status-success);background:var(--c-status-success-surface);color:var(--c-status-success-text)}
.form-panel--alert{border:1px solid var(--c-status-danger);background:var(--c-status-danger-surface);color:var(--c-status-danger-text)}
.form-panel b{display:block;margin-bottom:2px}
