/* کنترل‌های مشترک فرم و وضعیت‌های اعتبارسنجی. */
.form-grid {
    display: grid;
    gap: 1rem;
}
.filter-toolbar {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
    align-items: end;
    gap: 1rem;
}
.filter-toolbar > .field {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-heading);
}
.filter-toolbar__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
@media (max-width: 72rem) {
    .filter-toolbar {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 48rem) {
    .filter-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 36rem) {
    .filter-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }
    .filter-toolbar__actions > * {
        flex: 1;
    }
}
.form-row,
.form-field {
    display: grid;
    gap: 0.42rem;
}
.form-row label,
.form-field__label {
    font-weight: 720;
    color: var(--color-heading);
}
.form-field__hint {
    font-size: 0.84rem;
    color: var(--color-muted);
}
.form-field__error {
    font-size: 0.84rem;
    color: var(--color-danger);
}
.form-inline {
    display: flex;
    align-items: end;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.form-check {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}
.field-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
@media (max-width: 36rem) {
    .field-group {
        grid-template-columns: 1fr;
    }
}
