/* Request form on a blueprint panel. Tokens only. */

.request-form { position: relative; border: var(--border); background: var(--surface-1); padding: var(--space-6) var(--space-5); margin-top: var(--space-6); max-width: 960px; }
.request-form::before { content: "RFQ"; position: absolute; top: calc(-1 * var(--space-3)); left: var(--space-5); padding: 0 var(--space-2); background: var(--surface-0); font-family: var(--font-mono); font-size: 0.75rem; color: var(--signal-text); letter-spacing: 0.1em; }
.request-form__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.request-form__grid { display: grid; gap: var(--space-5); }
@media (min-width: 768px) { .request-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.request-form__context { color: var(--coolant-text); font-size: var(--step--1); margin-bottom: var(--space-5); }
.request-form__summary { border-left: 3px solid var(--warn); padding: var(--space-2) var(--space-4); color: var(--warn); }
.request-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin: var(--space-5) 0 0; }
.request-form__status { font-size: var(--step--1); color: var(--ink-muted); }
.request-form__status[data-state="ok"] { color: var(--ok); }
.request-form__status[data-state="error"] { color: var(--warn); }

.field { display: grid; gap: var(--space-2); }
.field--wide { grid-column: 1 / -1; }
.field__label { font-size: var(--step--1); text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-muted); }
.field__input { width: 100%; min-height: var(--field-height); padding: var(--space-3); background: var(--surface-0); color: var(--ink); border: var(--border); border-bottom: 2px solid var(--line); border-radius: var(--radius); font: inherit; }
textarea.field__input { min-height: var(--textarea-height); resize: vertical; }
.field__input:focus { outline: none; border-bottom-color: var(--signal); }
.field__input[aria-invalid="true"] { border-bottom-color: var(--warn); }
.field__error { margin: 0; font-size: var(--step--1); color: var(--warn); }
.field--check { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); align-items: start; margin-top: var(--space-5); font-size: var(--step--1); color: var(--ink-muted); }
.field--check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--signal); }
.field--check .field__error { grid-column: 2; }
