.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.field { display: grid; gap: 5px; }
.field.full,
.form-grid > .full { grid-column: 1 / -1; }
.field > span,
.checkbox-field > span { color: var(--green-950); font-size: .74rem; font-weight: 800; }
.field input,
.field select,
.field textarea,
.search-form input,
.form-control,
.select-control {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: rgba(255, 255, 255, .97);
    color: var(--text);
    outline: none;
    transition: 140ms ease;
}
.field input,
.field select,
.search-form input,
.form-control:not(textarea),
.select-control { min-height: var(--control-height); padding: 8px 11px; }
.field select,
.select-control {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 40px;
    background-color: rgba(255, 255, 255, .98);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2325682b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 17px;
    color: var(--green-950);
    font: inherit;
    font-weight: 720;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
}
.field select:hover,
.select-control:hover { border-color: rgba(87, 145, 73, .58); background-color: #fff; }
.field select:disabled,
.select-control:disabled { cursor: not-allowed; opacity: .62; }
.field textarea,
textarea.form-control { padding: 10px 11px; resize: vertical; }
.field input:focus,
.field select:focus,
.field textarea:focus,
.search-form input:focus,
.form-control:focus,
.select-control:focus { border-color: var(--green-500); background-color: #fff; box-shadow: 0 0 0 3px rgba(91, 156, 45, .11); }
.checkbox-field { display: flex; align-items: center; gap: 8px; min-height: 36px; }
.checkbox-field input { width: 17px; height: 17px; accent-color: var(--green-800); }
.form-section-title { display: grid; gap: 2px; padding: 11px 0 2px; border-top: 1px solid var(--border); }
.form-section-title:first-of-type { padding-top: 0; border-top: 0; }
.form-section-title strong { color: var(--green-950); font-size: .86rem; }
.form-section-title span { color: var(--muted); font-size: .73rem; }
.search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.form-help { margin: -2px 0 2px; color: var(--muted); font-size: .73rem; line-height: 1.45; }
.form-help strong { color: var(--green-900); overflow-wrap: anywhere; }
